首页 > 代码库 > 【OC学习-18】NSArray的初始化以及常用数组操作方法简单归纳

【OC学习-18】NSArray的初始化以及常用数组操作方法简单归纳

数组也分成可变和不可变,这个和NSString一样,初始化的方法也类似,对元素的操作也类似,具体如下。

多练习几遍,知道每个代表什么意思即可。开发项目时再加深印象。

        //不可变数组
        //数组的元素只能是对象,如果是int和float的话,就用NSNumber转换一下才能用
        
        //初始化的几种方式,可以一个元素、多个元素、从已有组复制、从文件、网址等
        NSArray *arr1=[NSArray arrayWithObject:@"hello"];
        NSArray *arr2=[NSArray arrayWithObjects:@"hello",@"world", nil];
        NSArray *arr3=[NSArray arrayWithArray:arr2];
        NSArray *arr4=[NSArray arrayWithContentsOfFile:<#(NSString *)#>];
        NSArray *arr5=[NSArray arrayWithContentsOfURL:<#(NSURL *)#>];
        //当然,最基本但是最复杂的初始化是这个样子的
        NSArray *arr6=[[NSArray alloc]initWithObjects:@"hello",@"world", nil];
        
        //获取数组的个数
        NSInteger count=[arr2 count];
        //根据下标访问里面的对象
        NSString *arrObj=[arr2 objectAtIndex:2];
        //给数组增减新元素(对象)
        NSArray *arrNew=[arr2 arrayByAddingObject:@"yes"];
        //把数组里元素利用连接符连接成字符串
        NSString *strNew=[arr2 componentsJoinedByString:@"-"];
        //查询数组中是否包含某一元素,YES和NO
        BOOL isContain=[arr2 containsObject:@"hello"];
        //查询并返回位置,如没有则是NSNotFound
        NSInteger index=[arr2 indexOfObject:@"hello"];
        //获取最后一个元素
        NSString *lastEle=[arr2 lastObject];
        
        //可变数组,5个元素
        NSMutableArray *mutArr=[[NSMutableArray alloc]initWithCapacity:5];
        //添加一个元素
        [mutArr addObject:@"hell"];
        //指定位置插入一个元素
        [mutArr insertObject:@"word" atIndex:1];
        //移除数组的元素,按名称按序号等
        [mutArr removeLastObject];
        [mutArr removeObject:@"hell"];
        [mutArr removeObjectAtIndex:0];
        [mutArr removeAllObjects];
        //替换元素
        [mutArr replaceObjectAtIndex:1 withObject:@"hello"];
        //把一个数组添加到另一个里
        [mutArr addObjectsFromArray:arr1];
        
        //应用:遍历数组元素方法
        NSArray *arr7=[NSArray arrayWithObjects:@"a",@"b",@"c", nil];
        int length=[arr7 count];
        for (int i=0;i<length;i++) {
            NSString *element=[arr7 objectAtIndex:i];
            NSLog(@"%@",element);
        }
        
        //应用:遍历数组元素方法
        for (NSString *str8 in arr7) {
            NSLog(@"%@",str8);
        }
        //当不确定元素类型时用id,比如除了NSString还有NSNumber
        for (id str8 in arr7) {
            NSLog(@"%@",str8);
        }


【OC学习-18】NSArray的初始化以及常用数组操作方法简单归纳