NSArray与NSMutableArray的常用方法
Posted 码出境界
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NSArray与NSMutableArray的常用方法相关的知识,希望对你有一定的参考价值。
数组中可以放任何类型的数据,并且一个数组中的元素类型可以不一致。只要是(id类型)对象。
NSArray
1、初始化
NSArray *array = @[@"123", @"456", @2];
2、初始化,最后需要以nil结尾
NSArray *array = [[NSArray alloc] initWithObjects:@"123", @"456", nil];
3、初始化,使用一个数组初始化另一个数组
NSArray *array = [[NSArray alloc] initWithArray:@[@"123"]];
4、初始化,类方法,最后需要以nil结尾
NSArray *array = [NSArray arrayWithObjects:@"-", @"+", @"=", nil];
5、拼接,将一个新对象拼接在数组的后面,拼接后返回新的数组
NSArray *array1 = @[@"123", @"456"]; NSArray *array2 = [array1 arrayByAddingObject:@"789"];
6、拼接,将另个数组中的所有对象,拼接到数组后面,拼接后返回新的数组
NSArray *array1 = @[@"123", @"456"]; NSArray *array2 = [array1 arrayByAddingObjectsFromArray:array1];
7、连接,以某个连接符(字符串)连接数组中所有的对象,然后以字符串返回连接后的结果
NSArray *array = @[@"123", @"456"]; NSString *string = [array componentsJoinedByString:@"*"]; //一般只用于数组元素全部为字符串类型的数组
8、根据索引提取相应的元素
NSArray *array = @[@"123", @"456", @2]; NSString *string = [array objectAtIndex:1];
9、根据数组的元素得到对应的索引
NSArray *array = @[@"123", @"456"]; NSUInteger integer = [array indexOfObject:@"123"];
10、取首尾元素
NSArray *array = @[@"123", @"456"]; NSString *firstString = [array firstObject]; NSString *lastString = [array lastObject]; NSInteger count = [array count]; //当count = 1时,firstObject和objectAtIndex:0取出的是相同的对象。 //当count = 0时,firstObject取出的是null,objectAtIndex:1会使得程序异常退出(越界访问)。
11、使用自定义的OC数组排序函数,将数组元素进行排序
NSInteger comp(id objc1, id objc2, void *p) { // -1升序,不交换元素 // 0相等,不交换元素 // 1降序,交换元素 if ([objc1 compare:objc2] == 1) { return 1; }else { return 0; } }
NSArray *array1 = @[@"123", @"456"]; NSArray *array2 = [array1 sortedArrayUsingFunction:comp context:nil];
NSMutableArray
(未完!待续~先休息)
以上是关于NSArray与NSMutableArray的常用方法的主要内容,如果未能解决你的问题,请参考以下文章
Objective - C NSArray不可变数组和NSMutableArray可变数组
iOS内存管理--NSArray与NSMutableArray用copy修饰还是strong