NSArray,NSMutableArray 是oc中的有序集合(类似Java List的概念),只能存放对象,所以基本数据类型需要用NSNumber,NSValue进行封装。
1.NSArray 创建
NSArray *array1 = [NSArray arrayWithObjects:@"Hello", @"World"];
NSArray *array2 = [NSArray arrayWithArray:array1];
NSArray *array3 = [[NSArray alloc] initWithArray:array1];
2.元素的个数和访问
long count = [array1 count];
NSLog(@"array1 all element :%ld", count);
NSString *string1 = [array1 objectAtIndex:1];
NSLog(@"element of array: %@", string1);
3.NSArray 增加
NSArray *array4 = [array1 arrayByAddingObject:@"!"];
4.NSArray 转换成NSString
NSString *string2 = [array1 componentsJoinedByString:@" "]; // Hello World !
5.NSArray 是否包含某个对象
BOOL isContain = [array1 containsObject:@"Hello"];
6.NSArray 索引某个元素返回index
NSInteger index = [array1 indexOfObject:@"Hello"];
7.NSMutableArray 增删改
NSMutableArray *mutableArray1 = [NSMutableArray arrayWithObjects:@"One", @"Two", @"end", @"Five"];
// 新增、插入、删除、替换
NSLog(@"mutableArray1 : %@", mutableArray1);
[mutableArray1 addObject:@"Four"];
NSLog(@"mutableArray1 : %@", mutableArray1);
[mutableArray1 insertObject:@"Three" atIndex:2];
NSLog(@"mutableArray1 : %@", mutableArray1);
[mutableArray1 removeLastObject];
NSLog(@"removeLastObject : %@", mutableArray1);
[mutableArray1 removeObject:@"end"];
NSLog(@"removeObject : %@", mutableArray1);
[mutableArray1 removeObjectAtIndex:3];
NSLog(@"removeObjectAtIndex : %@", mutableArray1);
[mutableArray1 addObject:@"Four"];
NSLog(@"add four: %@", mutableArray1);
NSArray *deleteArray = [NSArray arrayWithObjects:@"One", @"Two", nil];
[mutableArray1 removeObjectsInArray:deleteArray];
NSLog(@"removeObjectsInArray: %@", mutableArray1);
[mutableArray1 replaceObjectAtIndex:0 withObject:@"3"];
NSLog(@"replace: %@", mutableArray1);
8. 遍历 for & foreach
NSArray *array = [NSArray arrayWithObjects:@"One", @"Two", @"Three", @"Four"];
for (int index = 0; index < [array count]; index++) {
NSString *string = [array objectAtIndex:index];
NSLog(@"string : %@", string);
}
NSLog(@"__________________");
for (NSString *string in array) {
NSLog(@"string : %@", string);
}