------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
1、NSArray的基本特性
a)只能存放OC对象,不能存放非OC对象,例如int、struct、enum、char等;
b)数组是有顺序的,从0开始;
c)NSArray是不可变数组,指的是数组内的OC对象数量不能发生变化;NSMutableArray与之相反,数组内的OC对象数量可以变化;
d)NSArray中不能存放两个以上的nil,nil是数组结束的标志。
2、NSArray的常见初始化方式
a)创建一个空数组:
NSArray *array = [NSArray array];
b)创建一个只包含一个对象的数组:
NSArray *array2 = [NSArray arrayWithObject:@"jack"];
c)创建一个包含多个对象的数组:
NSArray *array3 = [NSArray arrayWithObjects:@"jack", @"rose", nil];
只有用arrayWithObjects方法创建时最后才需要在最后加一个nil对象。创建一个对象的数组和快速创建方法创建数组都不要加nil。
d)快速创建一个数组:NSArray *array4 = @[@"jack", @"rose", @"4324324"];
3、计算数组中对象的个数
NSLog(@"%ld", array3.count);
4、打印数组中单个对象的方法
NSLog(@"%@", [array3 objectAtIndex:0]);
NSLog(@"%@", array3[0]);
5、快速遍历整个数组的方法
for (id obj in array)
{
NSLog(@"%d", obj);
}
上述方法有一个缺点,就是不知道当前遍历到了哪一个index的对象。
解决方法根据当前的obj对象找出它的index值:
NSUInteger i = [array indexOfObject:obj];
6、在NSMutableArray末尾追加新的对象
[array addObject:[[Person alloc] init]];
[array addObject:@"jack"];
7、删除NSMutableArray中的对象
// 删除指定对象
[array removeObject:@"jack"];
// 删除指定位置对象
[array removeObjectAtIndex:0];
// 删除所有对象
[array removeAllObjects];