oc基础-oc中之集合NSArray,NSMutableArray

  

 

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] //根据元素的下标移除元素
原文地址:https://www.cnblogs.com/hui1107464497/p/4514326.html