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可变数组

NSArray与NSMutableArray的区别

iOS内存管理--NSArray与NSMutableArray用copy修饰还是strong

iOS内存管理--NSArray与NSMutableArray用copy修饰还是strong

NSMutableArray和NSArray的相互转换

如何将NSArray排序的NSStrings拆分为NSMutableArray的NSMutableArray