NSMutableArray用于可变数组操作。
初始化
- (instancetype)initWithCapacity:(NSUInteger)numItems
初始化容量。参数numItems为容量大小。
- (instancetype)init
初始化。等于调用[self initWithCapacity: 0];
- (instancetype)initWithObjects:(const ObjectType _Nonnull [_Nullable])objects count:(NSUInteger)cnt
根据对象序列初始化。
构造
+ (instancetype)arrayWithCapacity:(NSUInteger)numItems;
构造数组,初始化其容量。
添加
- (void)addObject:(ObjectType)anObject;
添加对象。如果参数anObject为nil,抛出异常。否则,添加进数组。
- (void)addObjectsFromArray:(NSArray<ObjectType> *)otherArray;
添加数组。如果参数otherArray为nil,抛出异常。否则,添加进数组。
插入
- (void)insertObject:(ObjectType)anObject atIndex:(NSUInteger)index;
插入对象。参数index为插入下标,参数anObject为插入对象。如果index大于数组长度,则抛出异常。
- (void)insertObjects:(NSArray<ObjectType> *)objects atIndexes:(NSIndexSet *)indexes;
插入对象数组。参数objects 为对象数组,参数indexes为索引集合。
NSIndexSet是一个唯一的,有序的,无符号整数的集合。
NSMutableArray *arr=[[[NSMutableArray alloc] initWithCapacity:10] autorelease];
[arr addObject:@"000"];
[arr addObject:@"111"];
[arr addObject:@"222"];
[arr addObject:@"333"];
[arr addObject:@"444"];
[arr addObject:@"555"];
NSMutableIndexSet *set=[[[NSMutableIndexSet alloc] init] autorelease];
[set addIndex:3];
[set addIndex:1];
NSArray *arr2=[[NSArray alloc] initWithObjects:@"aaa",@"bbb", nil];
[arr insertObjects:arr2 atIndexes:set];
NSL