//********NSArray数组不可变********
//数组的创建
NSString *s1 = @"zhangsan";
NSString *s2 = @"lisi";
NSString *s3 = @"wangwu";
//注意:最后有nil结尾
NSArray *array1 = [[NSArray alloc] initWithObjects:s1,s2,s3,nil];
NSLog(@"%@",array1);
//使用类方法创建
NSArray *array2 = [NSArray arrayWithObjects:s1,s2,s3, nil];
NSLog(@"%@",array2);
//创建一个数组对象,同事往里面存入一个元素
NSArray *array3 = [NSArray arrayWithObject:s1];
NSLog(@"array4=%@",array3);
//创建一个数组,此数组中的元素来自于array1
NSArray *array4 = [NSArray arrayWithArray:array1];
NSLog(@"%@",array4);
//通过下标取元素
NSString *str1 = [array4 objectAtIndex:2];
NSLog(@"%@",str1);
//数组元素的个数
NSUInteger count1 = [array4 count];//== NSUInteger count2 = array4.count;
NSLog(@"%ld",count1);
//判断一个数组中是否包含某一个对象
BOOL isContains = [array4 containsObject:@"zhangsan"];
NSLog(@"isContains = %d",isContains);
//查找某个对象在数组中的下标位置
NSUInteger index = [array4 indexOfObject:@"zhangsan1"];
NSLog(@"%ld",index);
if (index == NSNotFound) {
NSLog(@"没有找到此元素");
}
//连接数组中的字符串,数组中的元素必须都是字符串才可以用此方法
NSString *str3 = [array4 componentsJoinedByString:@","];
NSLog(@"%@",str3);
//获取数组中最后一个元素
NSString *lastObject = [array4 lastObject];
NSLog(@"%@",lastObject);
//获取第一个 可以用objectAtIndex
NSString *str4 = [array4 objectAtIndex:0];
NSLog(@"%@",str4);
//在原来的数组中增加一个元素(追加之后是创建一个新的数组)
NSArray *array5 = [array4 arrayByAddingObject:@"hello world"];
NSLog(@"%@",array5);
//基本数据类型不能存放到数组中
//遍历数组 获取数组长度[array5 count] == array5.count
for (int i = 0 ; i < array5.count; i++) {
NSString *s = [array5 objectAtIndex:i];
NSLog(@"%@",s);
}
//数组快速遍历
for (NSString *s in array5) {
NSLog(@"%@",s);
}
//---xcode4.4以后,编译器做了优化-数组可以用以下方式创建--
NSArray *array7 = @[s1,s2,s3];
for (NSString *s in array7) {
NSLog(@"%@",s);
}
NSArray *array8 = @[s1,s2,s3];
array8[2];//通过下标访问
NSLog(@"%@",array8[2]);

NSMutableArray *mArray1 = [[NSMutableArray alloc]initWithObjects:str1,str3, nil];
NSLog(@"%@",mArray1);
NSMutableArray *mArray2 = @[str3,str1];//这是创建一个不可变数组