NSArray和NSMutableArray

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

  • 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];
相关文章
相关标签/搜索