NSArray 数组
NSArray是一个有序的、可变的集合,一旦创建则不能添加、修改、删除。数组中所有对象都是strong类型的指针。
创建数组的两种方法,可变数组不能使用第二种方法。
NSArray *array = [NSArray arrayWithObjects:@"one", @"two", @"three", nil];
NSArray *array = @[@"one", @"two", @"three"];
数组的长度
NSUInteger count = [array count];
获得数组元素的两种方式
id item = [array objectAtIndex:0];
id item = array[0];
NSString *sCombe = [array componentsJoinedByString:@"_"]; // 数组组成字符串
NSArray *array = [sCombe componentsSeparatedByString:@"_"]; // 字符串拆分成数组
[array containsObject:obj]; // 数组中是否包含指定对象
NSMutableArray 可变数组
创建可变数组
NSMutableArray* mArray = [NSMutableArray array]; // 创建一个空数组
NSMutableArray* mArray = [NSMutableArray arrayWithCapacity:numItems]; // numItems为性能提示
向可变数组添加对象
[mArray addObject:objID] // 在尾部添加
[mArray insertObject:objID atIndex:index];
删除可变数组中的对象
[mArray removeObjectAtIndex:index];
快速遍历数组
for (NSString *string in mArray) {
NSLog(@"%@", string);
}
当数组中存放不同类型的数据时的快速遍历
NSMutableArray *myArray = ...;
for(id obj in myArray){
if (obj isKindOfClass:[NSString class]){
NSString *str = (NSString *)obj;
// 给str发送消息
}
}
使用枚举器遍历数组
NSEnumerator *enumerator = [mArray objectEnumerator];
id item;
while (item = [enumerator nextObject]) {
NSLog(@"%@", item1);
}