一、数组简介
NSArray:用来存储有序数组,它是不可变的,也不能存储C语言中的基本数据类型(int、float、double、enum、struct),也不能存nil,如果需要使用基本数据类型,需要先转成Objective-c中的对象。如NSNumber。另外,数组的最后一个元素一定是nil,表示结束。
二、创建数组
//1、array
NSArray * arr = [NSArray array]; //因为是类方法,所以无需管理内存
//2、arrayWithArray:
NSArray * arr1 = [NSArray arrayWithArray:arr];
//3、arrayWithObject:
NSArray * arr3 = [NSArray arrayWithObject:@"Apple"];
//4、arrayWithObjects:
NSArray * arr4 = [NSArray arrayWithObjects:@"Apple", @"Android", nil];
//5、arrayWithObjects:count:
NSString * str5[3] = {@"aaa", @"BBB", @"CCC"};
NSArray * arr5 = [NSArray arrayWithObjects:str5 count:2]; //获取数量
//6、init
NSArray * arr6 = [[NSArray alloc] init];
arr6 = @[@"LLL", @"IIII", @"BBBB"];
[arr6 release]; //对象需要进行内存释放
//7、initWithArray:
NSArray * arr7 = [[NSArray alloc] initWithArray:arr6];
[arr7 release];
//8、initWithObjects:
NSArray * arr8 = [[NSArray alloc] initWithObjects:arr6, arr5, nil];
//9、initWithObjects:count:
NSArray * arr9 = [[NSArray alloc] initWithObjects:str5 count:1];
[arr9 release];
//10、arrayWithCapacity 初始化可变数组对象的长度
NSMutableArray *array10 = [NSMutableArray arrayWithCapacity:10];
//11、initWithCapacity
NSMutableArray * array101 = [[NSMutableArray alloc] initWithCapacity:10];
*自面量(@) < @[<#objects, ...#>] >
可以使用下面的方式创建数组,并且无需担心内存
NSArray *arr2 = @[@"Apple", @"DELL", @"Lenovo"];
三、数组删除(NSMutableArray)
//1.removeAllObjects 删除数组中所有的Objects
NSMutableArray *list = [[NSMutableArray alloc] init];
Person *car = [[Person alloc] init];
car.price = 10;
car.color = 1;
Person *car1 = [[Person alloc] init];
car1.price = 120;
car1.color = 12;
[list addObject:car];
[list addObject:car1];
NSLog(@"%@", list);
[list removeAllObjects]; // Crash here
NSLog(@"%@", list);
//2、removeLastObject 删除最后一个object
[list removeLastObject];
NSLog(@"%@", list);
//3、removeObject: //删除指定Object
[list removeObject:car];
NSLog(@"%@", list);
//4、removeObject:inRange: //在指定范围删除car1
NSRange range = {