1.NSArray 不可变集合(仅在初始化时赋值),NSMutableArray 可变集合,两者的元素都是有顺序存放的
NSArray:
创建方式
[NSArray arraywithObject:@"abcde"]
[NSArray arrayWithObjects:@"abc",@"123",...]
@[@"abc",@"123"]//该方式是快速创建方式
2.获取集合的长度:[arr count]或 arr.count
3.获取集合中的元素:[arr objectAtIndex:下标]或 arr[下标] (该方式是xcode封装了前一个方法的,通常使用这个)
4.遍历集合
1 //方式一 2 for(int i=0;i<arr.count;i++) 3 { 4 NSLog(@"%@",arr[i]); 5 }
//方式二 for(id obj in arr)//因为集合可以存任何类型的数据,所有用id { NSLog(@"%@",obj); }
//方式三 [arr enumerateObjectsUsingBlock:^(id obj ,NSUIntger idx ,Bool *stop) { //obj表示某个元素,idx表示这个元素点下标,stop表示是否停止遍历 //每遍历一次,都会调用一次block,并把当前元素,索引,和一个bool类型的变量地址作为参数传给block //因为在这个方法内,有可能改变stop的值,而bool是基本数据类型,所以穿对事变量的地址 //stop为YES时,表示停止遍历并跳出方法,*stop=YES }];
NSMutableArray 可变集合(初始化是可以赋值空的)
1.创建方式和NSArray一样,但是不能使用快速创建方式,因为@[],返回的是NSArray对象
另外还有NSArray不用的方法:[NSMutableArray array]
2.新增的方法
[arr addObject:@"jack"]//添加元素 [arr removeAllObjects] //移除所有的元素 [arr removeObject:@"jack"] //移除指定的元素 [arr removeObjectAtIndex:0] //根据元素的下标移除元素