您的位置:首页 > 移动开发 > Objective-C

Objective-C中NSArray和NSMutableArray的基本用法

2016-04-12 23:22 573 查看
/*---------------------NSArray---------------------------*/
//创建数组
NSArray *array1 = [NSArray arrayWithObject:@"1"];
NSArray *array2 = [NSArray arrayWithObjects:@"1",@"2",@"3",nil];
NSArray *array3 = [NSArray arrayWithArray:array2];
NSLog(@"array1 = %@",array1);
NSLog(@"array2 = %@",array2);
NSLog(@"array3 = %@",array3);

//获取数组内数据个数
int count = [array2 count];
NSLog(@"array2 size is %d",count);

//访问数组内的数据
NSString *str1 = [array2 objectAtIndex:0];
NSLog(@"array2 first content is %@",str1);

//数组中插入数据   返回新的数组
NSArray *array4 = [array3 arrayByAddingObject:@"4"];
NSLog(@"array4 = %@",array4);

//数组内的数据以制定字符连接
NSString *str2 = [array4 componentsJoinedByString:@","];
NSLog(@"str2 = %@",str2);

//判断数组中是否包含某对象
BOOL b1 = [array4 containsObject:@"4"];
BOOL b2 = [array4 containsObject:@"5"];
NSLog(@"b1 = %d,b2 = %d",b1,b2);

//取数组内制定对象的索引
int index = [array4 indexOfObject:@"4"];
NSLog(@"index = %d",index);

NSString *str3 = [array4 lastObject];
NSLog(@"array4 last object is %@",str3);

/*-----------------------可变数组NSMutableArray-----------------------------------------*/
//定义一个空的数组
NSMutableArray *mArray2 = [[NSMutableArray alloc]init];
//初始化数组 指定数组长度   但可变
NSMutableArray *mArray1 = [NSMutableArray arrayWithCapacity:5];

//向数组中添加元素
[mArray1 addObject:@"aaaa"];
[mArray1 addObject:@"cccc"];
NSLog(@"mArray1 = %@",mArray1);

//向指定位置插入元素
[mArray1 insertObject:@"bbbb" atIndex:1];
[mArray1 insertObject:@"dddd" atIndex:[mArray1 count]];
[mArray1 insertObject:@"eeee" atIndex:[mArray1 count]];
NSLog(@"mArray1 = %@",mArray1);

//移除元素
[mArray1 removeObject:@"eeee"];
NSLog(@"mArray1 = %@",mArray1);
[mArray1 removeObjectAtIndex:[mArray1 count]-1];
NSLog(@"mArray1 = %@",mArray1);
NSArray *array5 = [NSArray arrayWithObjects:@"bbbb",@"cccc",nil];
[mArray1 removeObjectsInArray:array5];
NSLog(@"mArray1 = %@",mArray1);

//向数组内插入数组
NSMutableArray *mArray2 = [NSMutableArray arrayWithObjects:@"aaaa",@"aaaa",nil];
[mArray2 addObject:@"bbbb"];
NSLog(@"mArray2 = %@",mArray2);
[mArray2 addObjectsFromArray:array4];
NSLog(@"mArray2 = %@",mArray2);

//替换元素
[mArray2 replaceObjectAtIndex:[mArray2 count]-1 withObject:@"5"];
NSLog(@"mArray2 = %@",mArray2);

//遍历数组  常规方法:性能较低
NSArray *array6 = [NSArray arrayWithObjects:@"a",@"b",@"c",@"d",@"e",nil];
int len = [array6 count];
for (int i=0; i<len; i++) {
NSString *value = [array6 objectAtIndex:i];
NSLog(@"array6 %d content is %@",i,value);
}

//枚举遍历  相当于java中的增强for循环
for (NSString *string in array6) {
NSLog(@"array6 content is %@",string);
}

NSLog(@"-----------------------");

//当不确定数组元素类型时
for(id string in array6){
NSLog(@"array6 content is %@",string);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: