数组也分成可变和不可变,这个和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); }
时间: 2024-11-05 22:41:21