oc-NSArray

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         }
复制代码
posted @ 2016-01-08 09:21  33sve  阅读(175)  评论(0编辑  收藏  举报