NSArray说明
-oc中枚举就是遍历的意思,区别c语言中的枚举
-Foundation中的数组(NSArray,NSMutableArray)是一组有序的对象集合
-数组只能存储对象(类的实例)
NSArray使用
-通过下标获取到数组中的各个元素
-与字符串相同,数组分为可变和不可变数组
NSArray注意
-数组中不可以存放基本数据类型,只能存放类的实例(对象)
-如若需要将基本数据类型/结构体放入数组中,需要通过NSNumber NSValue进行“封装”
NSArray实例
创建不可变数组
1 // 创建不可变数组 2 //快速创建数组 3 NSArray *arr=@[@"mon",@"tue",@"wed"]; 4 //创建空数组 5 NSArray *array=[[NSArray alloc]init]; 6 NSArray *array1=[NSArray array]; 7 /*使用实例方法创建数组 注意数组结尾必须有nil(空)进行结束 不可删除*/ 8 NSArray *arr1=[[NSArray alloc]initWithObjects:@"123",@"231",@"133", nil]; 9 NSLog(@"%@",arr1); 10 /*使用类方法创建数组*/ 11 NSArray *arr2=[NSArray arrayWithObjects:@"1",@"2",@"3", nil]; 12 NSLog(@"%@",arr2);
1 //复制 把一个数组内容复制到另一个数组内 2 NSArray *newArray=[NSArray arrayWithArray:arr1]; 3 NSLog(@"%@",newArray); 4 /*获取数组元素个数*/ 5 NSUInteger count=[arr1 count]; 6 NSLog(@"%ld",count); 7 /*根据索引值获取对象*/ 8 NSString *p=[arr1 objectAtIndex:0]; 9 NSLog(@"%@",p); 10 /*向数组内添加一个元素*/ 11 NSArray *addArr=[newArray arrayByAddingObject:@"zhou"]; 12 NSLog(@"%@",addArr); 13 //使用指定的字符串将数组中元素链接起来 14 NSString *newStr=[newArray componentsJoinedByString:@","]; 15 NSLog(@"%@",newStr); 16 //判定数组内是否包含某个对象 17 BOOL result=[newArray containsObject:@"123"]; 18 NSLog(@"%d",result); 19 //查询某个对象在数组中的位置 20 NSUInteger index=[newArray indexOfObject:@"123"]; 21 NSLog(@"%d",(int)index+1); 22 //获取数组最后一个元素(first第一个元素) 23 NSString *last=[newArray lastObject]; 24 NSLog(@"%@",last);
遍历数组
1 //遍历数组(枚举)对数组内的元素依次不重复的进行遍历
2 //下标遍历(1)
3 for(int i=0;i<[newArray count];i++){
4 NSString *element=[newArray objectAtIndex:i];
5 NSLog(@"%@",element);
6 }
7 //(2)
8 for(int i=0;i<[newArray count];i++){
9 NSLog(@"%@",newArray[i]);
10 }
11 // for in 快速遍历 遍历性高
12 for(NSString *string in newArray){
13 NSLog(@"%@",string);
14 }
15 //id 可以代表任意类型的数据,当不确定对象类型时使用
16 for(id str in newArray){
17 NSLog(@"%@",str);
18 }
创建可变数组
1 // 可变数组继承自不可变数组
2 //1.设定元素个数进行创建 首次创建为7个元素的空间,可继续添加
3 NSMutableArray *muarr=[NSMutableArray arrayWithCapacity:7];
4 //2.向数组内添加元素
5 NSArray *arr2=[NSArray arrayWithObjects:@"1",@"2",@"3", nil];
6 //将不可变数组复制到可变数组内
7 NSMutableArray *muarr1=[NSMutableArray arrayWithArray:arr2];
8 [muarr1 addObject:@"4"];
9 for(id str in muarr1){
10 NSLog(@"%@",str);
11 }
1 //3.根据下标插入元素
2 [muarr1 insertObject:@"5" atIndex:4];
3 for(id str1 in muarr1){
4 NSLog(@"%@",str1);
5 }
6 //4.删除最后一个元素
7 [muarr1 removeLastObject];
8 for(id str2 in muarr1){
9 NSLog(@"%@",str2);
10 }
11 //5.根据指定下标删除元素
12 [muarr1 removeObjectAtIndex:3];
13 for(id str3 in muarr1){
14 NSLog(@"%@",str3);
15 }
16 //6.根据对象删除元素
17 [muarr1 removeObject:@"1"];
18 for(id str4 in muarr1){
19 NSLog(@"%@",str4);
20 }
21 //7.替换指定下标的元素
22 [muarr1 replaceObjectAtIndex:0 withObject:@"3"];
23 for(id str5 in muarr1){
24 NSLog(@"%@",str5);
25 }
