NSArray特点:
一旦创建成功,内容不可改变
只能存放OC对象
//1)创建一个空数组
NSArray *arr1 = [NSArray array];
//2)创建数组,只有一个元素
NSArray *arr2 = [NSArray arrayWithObject:@"1"];
//3)创建数组,有多个元素
// nil 表示数组赋值结束
// 常见写法
NSArray *arr3 = [NSArray arrayWithObjects:@"one",@"two",@1, nil];
NSLog(@"arr3 = %@",arr3);
//4)调用对象方法,创建数组
//nil Nil NULL NSNULL
NSArray *arr4 = [[NSArray alloc] initWithObjects:@"three",[NSNull null],@"four", nil];
NSLog(@"arr4 = %@",arr4);
//5)用一个数组可以创建另外一个数组
NSArray *arr5 = [NSArray arrayWithArray:arr3];
NSArray常用方法:
NSArray *arr3 = [NSArray arrayWithObjects:@"one",@"two",@1,@"three", nil];
NSLog(@"arr3 = %@",arr3);
//1)获取数组的长度 count获取数组的元素的个数
NSLog(@"%ld",arr3.count);
//2)根据下标,获取下标对应的对象
NSLog(@"%@",[arr3 objectAtIndex:3]);
//3)返回元素的下标
NSUInteger loc = [arr3 indexOfObject:@"three"];
NSLog(@"%ld",loc);
//4)数组中是否包含了某个元素
if([arr3 containsObject:@"four"]){
NSLog(@"包含此元素");
}else{
NSLog(@"不包含");
}
NSLog(@"arr5 = %@",arr5);
NSArray简化形式:
//用简化的方式,来定义和访问数组元素
//1)用简化的方式,定义数组
//格式: @[ 数组元素 ]
NSArray *arr = @[@"1",@"one",@"3",@4,@"ONE"];
NSLog(@"arr = %@",arr);
NSString *str =[arr objectAtIndex:2];
NSLog(@"%@",str);
//2)用简化的方式访问数组元素
str = arr[1]; //C语言形式的数组元素访问
NSLog(@"%@",str);
NSArray的遍历:
//定义一个数组
NSArray *arr = @[@"one",@"two",@"three",@"four"];
//对数组进行遍历
//1) 普通的方式,通过下标访问
for (int i=0; i<arr.count; i++) {
NSLog(@"-> %@",arr[i]);
}
//2) 快速枚举法 for循环的增强形式
for (NSString * str in arr) {
NSLog(@"---> %@",str);
}
//3) 使用block的方式,进行访问
// 数组元素 元素下标 是否停止
//stop:YES 会停止, stop:NO 不会停止
[arr enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
if(idx == 2){
*stop = YES; //停止 // break;
}else{
NSLog(@"idx = %ld,obj = %@",idx,obj);
}
}];
NSArray读写文件:
-
写入
NSArray *array = [NSArray arrayWithObjects:@"one",@"zbz",@"cgx",@"sb",@"cjk",@"senni", nil]; //把NSArray 中的内容,写入到文件中 //arr.plist 一种特殊的文件格式 BOOL isWrite = [array writeToFile:@"/Users/zhaoxiaohu/Desktop/arr.xml" atomically:YES]; if(isWrite){ // // NSLog(@"写入成功"); // }
-
读取
//从文件中,读取一个数组信息 NSArray *readArr = [NSArray arrayWithContentsOfFile:@"/Users/zhaoxiaohu/Desktop/arr.xml"]; NSLog(@"readArr = %@",readArr);
NSArray与字符串:
-
把数组拼接成为字符串
//定义一个数组
NSArray *arr = @[@1,@2,@3,@4];//1)需求: 把数组中的元素用 "-" 连接起来 // [数组 componentsJoinedByString @"分隔符"]; // 1-2-3-4 NSString *str = [arr componentsJoinedByString:@"-"]; NSLog(@"str = %@",str);
-
把字符串拆分为数组
//2) 给一个字符串,分割成一个数组
// 400-800-12580 //取得 400 12580 800
NSString *str2 = @"400-800-12580";
NSArray *arr2 = [str2 componentsSeparatedByString:@"-"];
NSLog(@"%@",[arr2 firstObject]);
NSLog(@"%@",[arr2 lastObject]);
NSLog(@"%@",arr2[1]);
网友评论