1、NSArray的基本介绍:数组
NSArray是OC语言中的数组类,能够存放多种类型的数据。atom
2、NSArray的初始化:code
//只有一个数据的数组 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]); }
3、NSArray的常见用法:component
//初始化字符串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);
4、NSArray的遍历方法:rem
//一、NSArray的普通遍历 NSArray *arr = @{@"1",@"a",@"asd"} for (int i = 0; i<array.count; i++) { NSLog(@"arr[%d] - %@",i,arr[i]); } //二、NSArray的快速遍历 for (id obj in array) { NSLog(@"obj - %@",obj); } //三、NSArray使用block进行遍历 [array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { }];
5、NSArray的读写文件操做:字符串
//一、NSArray数据写入到文件中 NSArray *array = @[@"a",@"b"]; BOOL res = [array writeToFile:@"/Users/sleepingsun/Desktop/test.txt" atomically:YES]; NSLog(@"%@",array); //二、从文件中读取数据到NSArray中 NSArray *array1 = [NSArray arrayWithContentsOfFile:@"/Users/sleepingsun/Desktop/test.txt"]; NSLog(@"%@",array1);
6、NSArray和NSString的相互转化:it
//初始化字符串 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);
7、NSMutableArray及基本使用table
//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];