NSArray NSMutableArray 常用方法

创建NSArray
构造方法
[[NSArray alloc] init];
[[NSArray alloc] initWithObjects:(nonnull id), ..., nil];
[[NSArray alloc] initWithArray:(nonnull NSArray *)];
[NSArray alloc] initWithObjects:(const id  _Nonnull __unsafe_unretained *) count:(NSUInteger)
 
类工厂方法
[NSArray array];
[NSArray arrayWithObjects:(nonnull id), ..., nil];
[NSArray arrayWithArray:(nonnull NSArray *)];
[NSArray arrayWithObjects:(const id  _Nonnull __unsafe_unretained *) count:(NSUInteger)]
 
创建一个数组( 推荐写法)
NSArray *array = @[对象1, 对象2, 对象3, . . .  ];
 
count 获取元素的个数
firstObject 获取第0个元素
lastObject 获取最后一个元素
objectAtIndex: 获取指定位置的元素
indexOfObject:获取指定对象在数组中的位置, 如果数组中没有指定对象, 那么就返回NSNotFound.
containsObject:判断数组中是否包含某个对象(返回 BOOL)
 
遍历
1 forin
2 迭代器
     obj: 当前获取到的元素
     idx:
当前获取到的元素的索引
     stop: 标记是否需要停止循环
 
对整型可以通过 sortedArrayUsingComparator:方法进行并轨排序
eg NSArray *res = [array sortedArrayUsingComparator:^NSComparisonResult(id  _Nonnull obj1, id  _Nonnull obj2) {
        return obj1 < obj2;
    }];
 
只要将对象放入数组之后, 就可以利用数组统一的给数组中所有的对象发送消息
[arr makeObjectsPerformSelector:@selector(method)];
 
字符数组与字符串的相互转换
NSString *string = [array componentsJoinedByString:@“xxx”];(各数组对象以 xxx连接)
NSArray *array = [string componentsSeparatedByString:@“x”];(字符串以符号'x’分割为字符串后放入数组中)
 
arrayWithContentsOfFile:从路径读取
 

NSMutableArray
增加[array addObject:@"xxx"];
插入[array insertObject:@"xxx" atIndex:idx];
修改[array replaceObjectAtIndex:0 withObject:@“xxx"];
快速修改 array[idx] = @"xxx”;(推荐写法)
删除[array removeObject:@“xxx"];
    [array removeObjectAtIndex:2];
 
获取
[array objectAtIndex:idx]
[array indexOfObject:idx]
[array firstObject]
[array lastObject]
array[0];
原文地址:https://www.cnblogs.com/fangweiyi/p/5299634.html