一、NSArray的基本介绍:
NSArray是OC语言中的数组类,可以存放多种类型的数据。
二、NSArray的初始化:
//只有一个数据的数组
NSArray *arr1 = [NSArray arrayWithObject:@"1"];
NSArray *arr2 = [NSArray arrayWithObjects:@"2",@"3",@"4",nil];
//用数组生成另一个数组
NSArray *arr3 = [NSArray arrayWithArray:arr2];
//多个数据的数组初始化(最常用)
NSArray *arr4 = @[
arr1,
arr2,
arr3
];
for (int i = 0; i < 3; i++) {
NSLog(@"arr%d - %@",i,arr4[i]);
}
三、NSArray的常见用法:
//初始化字符串arr
NSArray *arr = @[@"1",@"2",@"3",@"a",@"b",@"c",@"你好",@"我好",@"他好"];
//arr.count - 获取数组中元素的个数
NSLog(@"arrr - count - %lu",(unsigned long)arr.count);
//objectAtIndex - 获得某个位置的元素
NSLog(@"arr - 2 - %@",[arr objectAtIndex:2]);
//containsObject - 检查某个元素是否存在,存在返回1,否则返回0;
NSLog(@"arr- contain - %d",[arr containsObject:@"1"]);
//查找某个元素在数组中的位置,(如果找不到,返回-1)
NSLog(@"arr - indexOF1 - %lu",(unsigned long)[arr indexOfObject:@"1"]);
//返回数组中第一个元素 - arr.firstObject
NSLog(@"arr - first - %@",arr.firstObject);
//返回数组中最后一个元素 - arr.lastObject
NSLog(@"arr - first - %@",arr.lastObject);
四、NSArray的遍历方法:
//1、NSArray的普通遍历
NSArray *arr = @{@"1",@"a",@"asd"}
for (int i = 0; i<array.count; i++) {
NSLog(@"arr[%d] - %@",i,arr[i]);
}
//2、NSArray的快速遍历
for (id obj in array) {
NSLog(@"obj - %@",obj);
}
//3、NSArray使用block进行遍历
[array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
}];
五、NSArray的读写文件操作:
//1、NSArray数据写入到文件中
NSArray *array = @[@"a",@"b"];
BOOL res = [array writeToFile:@"/Users/sleepingsun/Desktop/test.txt" atomically:YES];
NSLog(@"%@",array);
//2、从文件中读取数据到NSArray中
NSArray *array1 = [NSArray arrayWithContentsOfFile:@"/Users/sleepingsun/Desktop/test.txt"];
NSLog(@"%@",array1);
六、NSArray和NSString的相互转化:
//初始化字符串
NSString *str = @"床前山月光 疑是地上霜 举头望明月 低头思故乡";
//NSString转化为NSArray - componentsSeparatedByString - 把字符串分割成数组元素
NSArray *arr = [str componentsSeparatedByString:@" "];
for (NSString *temp in arr) {
NSLog(@"temp - %@",temp);
}
//NSArray转化为NSString - componentsJoinedByString - 把数组元素拼接成字符串
NSString *str2 = [arr componentsJoinedByString:@","];
NSLog(@"str2 - %@",str2);
七、NSMutableArray及基本使用
- NSMutableArray是NSArray的子类。NSArray是不可变的,一旦初始化完毕后, 它里面的内容就永远是固定的,不能删除里面的元素,也不能再往里面添加元素。
- NSMutableArray是可变的, 随时可以往里面添加\更改\删除元素
//1.初始化 生成一个完全空的数组
NSMutableArray *arr = [NSMutableArray array];
//2.通过一个不可变数组变成可变数组
NSMutableArray *arr2 = [NSMutableArray arrayWithArray:@[@"1",@"2"]];
NSMutableArray *arr3 = [@[@"1",@"2"] mutableCopy];
//3.增加元素
[arr addObject:@"1"];
//把arr2的所有元素添加到arr中
[arr addObjectsFromArray:arr2];
//在数组的某个位置插入一个元素
[arr insertObject:@"2" atIndex:1];
//4.删除元素
//删除所有元素
[arr removeAllObjects];
//删除最后一个元素
[arr removeLastObject];
//删除特定元素
[arr removeObject:@"1"];
//删除数组中某位的元素
[arr removeObjectAtIndex:3];
//删除rang范围内的所有元素
[arr removeObjectsInRange:rang];
//5.修改元素 - replaceObjectAtIndex
//把第0位的元素修改为2
[arr replaceObjectAtIndex:0 withObject:@"2"];
arr[0] = @"2"
//把第0位的元素和第1位的元素交换
[arr exchangeObjectAtIndex:0 withObjectAtIndex:1];
来源:oschina
链接:https://my.oschina.net/u/2886384/blog/749186