标签:
1.NSArray :OC中使用的数组,是面向对象,并且是不可变数组。
1.1OC数组不能存放nil值,只能存放OC对象、不能存放非OC对象类型,比如int、strcut、enum等;
1.2 C数组 【缺点 : 数据的类型必须相同】
int a = 3;
int number[5] = {0,1,2,3,4};
1.3 OC数组的创建 【保存的对象可以是不同的对象,但只能保存对象,需要转换成对象才能加入数组】
NSArray *array = [NSArray array]; // 1.这个数组永远是个空数组
NSArray *array1 = [NSArray arrayWithObject:@"lh"]; // 2.这个数组只有一个元素,并且永远只有一个元素
NSArray *array2 = [NSArray arrayWithObjects:@"lh",@"r3",nil]; //3.多个数组实例化方式,以nil结尾,nil是数组元素结束的标记
NSArray *array3 = @[@"lh" , @"yg" , @"wy" , @"123"]; //快速创建一个NSArray对象
1.4 对象方法[array count] ; 获取数组的长度(元素的个数)
例子 : NSLog(@"%ld" , array3.count] ; // 4
[array objectAtIndex 1] ; 传入数组角标的id得到数据对象,使用索引访问。
例子 : NSLog(@"%@", [array3 objectAtIndex:1]; // yg
[array indexOfObject:obj] ; // for in 遍历
[arrayWithObjects:..] ; 向数组对象初始化赋值,这里可以写任意对象的指针,结尾必须使用nil
1.5 NSArray的遍历
1.5.1 for循环遍历
Person *p = [[Person alloc] init]; // 创建一个Person类的对象
NSArray *array = @[p , @"hangda" , @"IOS"]; // 实例化数组
NSUInterger count = [array count];
for(int i = 0 ; i < count; i++){
NSLog(@"%ld -- %@", i , [array indexAtIndex:i]);
}
1.5.2 for in 遍历
for(id obj in array){ // id 代表着数组中每一个元素对象
NSUInter i = [array indexOfObject:obj];
NSLog(@"%ld - %@",i,obj);
// 提前结束遍历
if(i == 1)
{
break;
}
}
1.5.3
OCFoundation框架集合 ---- NSArray和NSMutableArray
标签:
原文地址:http://www.cnblogs.com/hangdada/p/4985197.html