不可变数组 NSArray
一.初始化方法
1.创建一个空的数组
NSArray *array1 = [[NSArrayalloc]init];
NSArray *array2 = [NSArrayarray];
2.创建一个里面只有一个元素的不可变数组
NSArray *array3 = [NSArrayarrayWithObject:@"Rick"];
3.创建一个里面有多个元素的不可变数组
NSArray *array4 = [NSArrayarrayWithObjects:@"sunney",@"wanday",@"conshen",nil];
注意:nil只能出现在数组的末端,不能在数组中存放nil,因为nil是一个NSArray的结束标志。
4.新语法
NSArray *array5 = @[@"Rick"];
NSArray *array6 =@[@"sunney",@"wanday",@"conshen"];
5.根据另一个数组产生新的数组
NSArray *array7 = [NSArrayarrayWithArray:array6];
//NSArray *array8 = [[NSArray alloc]initWithObjects:@"sunney",@"wanday",@"conshen", nil];
6.从本地文件读取数组
NSArray *array8 = [NSArrayarrayWithContentsOfFile:@""];
7.从网络文件中读取数组
// NSURL *url = [NSURL URLWithString:@""];
// NSArray *array9 = [NSArray arrayWithContentsOfURL:url];
NSArray *array9 = [NSArrayarrayWithContentsOfURL:[NSURLURLWithString:@""]];
8.求数组中元素的个数
NSUInteger count = array6.count;
//int const = [array6 count];
NSLog(@"%lu",count);
二.数组的操作
1.访问数组中的元素
访问array6中的第一个元素
NSString *str1 = [array6 objectAtIndex:0];
NSLog(@"%@",str1);
2.遍历数组中的元素
for (int i =0 ; i<count; i++) {
NSLog(@"%@",[array6objectAtIndex:i]);
}
3.新语法访问数组元素
NSString *str2 = array6[0];
NSLog(@"%@",str2);
4.通过数组中的元素找下标
NSUInteger index = [array6 indexOfObject:@"sunney"];
NSLog(@"%lu",index);
5.判断数组中是否存在某个元素
bool flag = [array6 containsObject:@"sunney"];
NSLog(@"%d",flag);
6.向不可变数组中增加元素,产生新的不可变数组
NSArray *newArray1 = [array6 arrayByAddingObject:@"xiaohei"];
for (int i =0; i<newArray1.count; i++)
{
NSLog(@"%@",newArray1[i]);
}
//等价于
NSLog(@"%@",newArray1);
NSString *string = @"123.456.789";
NSArray *array11 = [string componentsSeparatedByString:@"."];
NSLog(@"%@",array11);
NSString *string11 =[newArray1 componentsJoinedByString:@"_"];
NSLog(@"%@",string11);
NSArray *array12 = @[@"123",@"456",@"789",@"000"];
NSString *string12 = [array12 componentsJoinedByString:@"(*^__^*) 嘻嘻……"];
NSLog(@"%@",string12);
NSArray *Array12 = [string12 componentsSeparatedByString:@"(*^__^*) 嘻嘻……"];
NSLog(@"%@",Array12);
NSString *string13 = [Array12 componentsJoinedByString:@""];
NSLog(@"%@",string13);
/*
使用NSArray要注意事项
1.数组越界:当访问NSArray时,索引超出元素个数之后会报出一个异常结果,所以最好检查一下索引结果是否越界,然后再进行调用
2.数组会对加入其中的对象自动把索引技术加一
3.不能在数组中存在nil,nil只能出现在数组的最后,因为nil是一个数组结束的标志
*/