一.不可变数组
NSArray *arr = [[NSArray alloc]init]; //创建空数组
NSArray *arr1= [NSArray alloc]initWithObjects:@"sun",@"is",@"girl", nil]; //对象方法创建数组 以nil结束
NSArray *arr2 = [[NSArray array]initWithArray:arr]; //用已有数组创建新数组
NSArray *arr3 = [NSArray arrayWithArray:arr2]; //通过类方法创建数组
NSArray *arr4 = [NSArray array]; //类方法创建空数组
1.不可变数组的方法
//取一个元素
NSArray *arr = @[@"sun",@"is",@"a",@"smilling",@"girl"];
NSString *string = [arr objectAtIndex:2]
//for in 快速遍历 只针对数组来说,in的前面是数组中的元素, in后面是要遍历的集合(数组/字典)
for (NSString *str in array1) {
NSLog(@"%@",str);
}
二.可变数组
创建
NSMutableArray *mutArray = [NSMutableArray array]; //创建空数组
NSMutableArray *mutAr = [NSMutableArray arrayWithCapacity:100];
NSMutableArray *mutcap = [[NSMutableArray alloc]initWithCapacity:100];
NSArray *array = @[@"dskfj",@"df",@"sd",@"f"];
NSMutableArray *mutarr3 = [[NSMutableArray alloc]initWithArray:array];
NSMutableArray *mutarr5 = [NSMutableArray arrayWithObjects:@"sdj",@"dsf", nil]; //通过类方法
增加 使用addobject方法:注意该方法是将整个对象传入一个数组元素
增加多个 使用addobjectfromArray:注意该方法是将对象中的数组元素或数组对象传入数组,一个对应一个
//1.1按元素删除
注意:如果数组中有多个相同的元素,那么会全部删除
NSMutableArray *mutArray = [NSMutableArray arrayWithObjects:@"sd",@"sun",@"id",@"good",@"girl", nil];
[mutArray removeObject:@"sd"];
//1.2按下标删除
[mutArray removeObjectAtIndex:3];
//1.3删除最后一个
[mutArray removeLastObject];
//删除多个
//在range范围内删除第一个参数的中的数据
NSIndexSet *set4 = [[NSIndexSet alloc]initWithIndexesInRange:NSMakeRange(5, 2)];
[mutArray removeObjectsAtIndexes:set4];
//删除全部
[mutArray removeAllObjects];
简单数据封装存储在字典和数字中
NSNumber *aNum = [[NSNumber alloc] initWithInt:a];
NSNumber *bNum = [[NSNumber alloc] initWithInt:b];
int count = [array count];//个数
// 判断是否包含了某个元素
if ([array containsObject:@"a"]) {
NSLog(@"包含了字符串a");
}
NSString *last = [array lastObject];最后一个元素
NSString *str = [array objectAtIndex:1];根据索引获取数组中的元素
int index = [array indexOfObject:@"c"];获取指定元素的索引
// 让数组里面的所有对象都调用test方法,123为参数
NSArray *array = [NSArray arrayWithObjects:stu1, stu2, stu3, nil nil];
[array makeObjectsPerformSelector:@selector(test2:) withObject:@"123"];
NSArray *array = [NSArray arrayWithObjects:@"1", @"2", @"3", @"4", nil nil];
// 1-2-3-4
// 利用分隔符-拼接所有的数组元素
NSString *str = [array componentsJoinedByString:@"-"];
// 将一个数组写入文件(生成的是一个xml文件)
NSString *path = @"/Users/apple/Desktop/array.xml";
[array writeToFile:path atomically:YES];
path = @"/Users/apple/Desktop/array.txt";
// 从文件中读取数组内容(文件有严格的格式要求)
NSArray *array2 = [NSArray arrayWithContentsOfFile:path];