// // learn_arr.m // learn_KVC // // Created by 蔡佳明 on 2020/10/15. // /** OC中有两种数组 一种是不可变数组 NSArray 一种是可变数组 NSMutableArray 下面介绍一下 */ #import <Foundation/Foundation.h> int main() { //NSarray的创建 // 下面这样子是没有意义的 因为是不可能的。所以永远都是空数组 NSArray *arr1=[NSArray array]; //创建只有一个对象的数组 NSArray *arr2 = [NSArray arrayWithObject:@(12)]; NSLog(@"数组长度=%ld",arr2.count); //创建多个元素的数组 NSArray *arr3 =[NSArray arrayWithObjects:@(12),@(13), nil]; NSLog(@"数组长度=%ld",arr3.count); //快速创建一个数组 NSArray *arr4 = @[@"12",@"23",@"14",@"56"]; NSLog(@"数组长度=%ld",arr4.count); //下面说一下数组的访问 //访问数组指定位置的元素 NSString *str = [arr4 objectAtIndex:2]; NSLog(@"%@",str); //快速访问指定位置的值 NSLog(@"%@",arr4[1]); //查找指定元素的位置 NSUInteger index = [arr4 indexOfObject:@"14"]; NSLog(@"14的位置是%ld",index); //判断数组中是否存在某个元素 BOOL b = [arr4 containsObject:@"14"]; NSLog(@"%d",b); //遍历数组 for(int i=0;i<arr4.count;i++) { NSLog(@"%@",[arr4 objectAtIndex:i]); NSLog(@"%@",arr4[i]); } //通过for in for(NSString *str in arr4) { NSLog(@"%@",str); } //NSMutableArray的用法 //创建一个可变长度的数组 NSMutableArray *arrM = [NSMutableArray arrayWithObject:@"world"]; [arrM addObject:@"hello"]; for(NSString *str in arrM) { NSLog(@"%@",str); } //OC 数组中不能添加nil元素 //删除元素 [arrM removeObject:@"hello"]; for(NSString *str in arrM) { NSLog(@"%@",str); } [arrM addObject:@"hello"]; //删除指定位置元素 [arrM removeObjectAtIndex:1]; for(NSString *str in arrM) { NSLog(@"%@",str); } [arrM addObject:@"hello"]; //替换元素 //NSArray* array = @[@"a",@"b",@"c"]; [arrM replaceObjectAtIndex:1 withObject:@"m"]; for(NSString *str in arrM) { NSLog(@"%@",str); } //!!! 需要注意的点 NSMutableArray *array_M = @[@"Bob"];//这种方式创建的永远是不可变的数组 return 0; }