1.NSArray只能存储Objective-C 对象,而不能存储C语言中的基本数据类型,比如:int,flot,指针等。 在使用NSArray时,需特别注意,必须以nil 结尾。
//创建数组的类方法
NSArray * myArray = [NSArray arrayWithObjects:@"aaaaa",@"mac",@"String", nil];
NSArray * array1 = [NSArray arrayWithArray:myArray];
//获取数组个数
NSLog(@"myArray count :%d", [myArray count]);
//追加对象,返回新的数组对象
NSArray *array2 = [array1 arrayByAddingObject:@"gao"];
NSLog(@"array2 :%@", array2);
//是否包含指定对象
NSLog(@"array2 baohan :%@", [array2 containsObject:@"gao"]);
//从数组合并元素到字符串- componentsJoinedByString:
NSArray *array = [[NSArray alloc] initWithObjects:@"One",@"Two",@"Three",@"Four",nil];
NSString *string = [array componentsJoinedByString:@","];
NSLog(@"string:%@",string);
//字符串分割成数组
NSString *string = [[NSString alloc] initWithString:@"One,Two,Three,Four"];
NSLog(@"string:%@",string);
NSArray *array = [string componentsSeparatedByString:@","];
NSLog(@"array:%@",array);
//快速遍历数组
for (id element in array2) {
NSLog(@"element :%@", element);
}
2.NSMutableArray为可变数组,是NSArrary的子类,可以对所指向的内存区域内容进行更改,并可以增加数组内容。
//初始化数组
NSMutableArray *array = [NSMutableArray arrayWithObjects:@"One",@"Two",@"Three",nil];
[array addObject:@"Four"];
NSLog(@"array:%@",array)
//移除index1的对象
[array removeObjectAtIndex:1];
//初始化可变数组,初始长度为3
NSMutableArray *mutableArray = [NSMutableArray arrayWithCapacity:3];
[mutableArray addObject:@"test1"];
[mutableArray addObject:@"test2"];
[mutableArray addObject:@"test3"];
NSMutableArray *newArray = [NSMutableArray alloc] init];
NSArray *oldArray = [NSArray arrayWithObjects:@"222",@"ddd",@"wwww",@"aaasd",@"crrrr",@"ftttt",@"hkkk",@"goooo",nil];
NSLog(@"oldArray:%@",oldArray);
//数组迭代器
NSEnumerator *enumerator;
enumerator = [oldArray objectEnumerator];
//遍历数组
while(id obj = [enumerator nextObject])
{
[newArray addObject: obj];
}
//数组排序
[newArray sortUsingSelector:@selector(compare:];
NSLog(@"newArray:%@", newArray);