OC菜鸟成长记-OC中的数组创建和操作

在OC中,数组分为两种:不可变数组(NSArray) 和 可变数组(NSMutableArray)。根据自己的认识,笔者在下面对OC中的数组进行一下总结。

首先是不可变数组(NSArray):

//        NSArray
        //初始化
        NSArray *array =[[NSArray alloc]init];
        NSArray *array1 = [NSArray arrayWithObjects:@"a",@"b",@"c", nil];
        //新语法
        NSArray *array2 =@[@"a",@"b",@"c"];
        
        NSArray *array3 =[NSArray arrayWithArray:array1];
        
        //操作
        //历遍某一个元素
        NSString *arrStr = [array1 objectAtIndex:0];
        //历遍数组
        for (int i=0; i

运行结果如下:

 oc_731_practise[17787:164553] 0:a
 oc_731_practise[17787:164553] 1:b
 oc_731_practise[17787:164553] 2:c
 oc_731_practise[17787:164553] a
 oc_731_practise[17787:164553] b
 oc_731_practise[17787:164553] c
 oc_731_practise[17787:164553] a
 oc_731_practise[17787:164553] b
 oc_731_practise[17787:164553] c
 oc_731_practise[17787:164553] array4 = (
    a,
    b,
    c,
    a,
    b,
    c
),array5=(
    a,
    b,
    c,
    d
)


然后是可变数组(NSMutableArray):

//        NSMutableArray
        
        //初始化
        NSMutableArray *marray1 =[NSMutableArray array];
        marray1 =[NSMutableArray arrayWithArray:array1];
        
        //插入元素
        [marray1 insertObject:@"diao" atIndex:2];
        
        //替换
        [marray1 replaceObjectAtIndex:0 withObject:@"z"];
        
        //交换
        [marray1 exchangeObjectAtIndex:0 withObjectAtIndex:2];
        
        //删除
        [marray1 removeLastObject];//删除最后一个
        [marray1 removeObject:@"z"];//删除指定元素
        [marray1 removeAllObjects];//删除全部元素
        
        //利用枚举器历遍
        //初始化
        NSEnumerator *enumerator1 =[marray1 objectEnumerator];
        //使用while循环历遍
        id obj1;
        while (obj1 = [enumerator1 nextObject]) {
            NSLog(@"%@",obj1);
        }

你可能感兴趣的:(OC菜鸟成长笔记)