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];