我想在NSARRAY的第一个索引处添加@“ALL ITEMS”对象。
最初,Array有10个对象。添加后,数组应包含11个对象。
答案 0 :(得分:49)
您无法修改NSArray
以进行插入和添加。你需要使用NSMutableArray
。如果要在指定的索引处插入对象
[array1 insertObject:@"ALL ITEMS" atIndex:0];
在Swift 2.0
array1.insertObject("ALL ITEMS", atIndex: 0)
答案 1 :(得分:20)
首先,NSArray在初始化时需要填充。因此,如果要在数组中添加一些对象,则必须使用NSMutableArray。希望以下代码能为您提供一些想法和解决方案。
NSArray *array = [[NSArray alloc] initWithObjects:@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"0", nil];
NSMutableArray *mutableArray = [[NSMutableArray alloc] init];
[mutableArray addObject:@"ALL ITEMS"];
[mutableArray addObjectsFromArray:array];
addObject方法将对象作为NSMutableArray的最后一个元素插入。
答案 2 :(得分:16)
我知道insertObject有六个答案,一个用于创建(n)NSMutableArray数组,然后调用addObject,但也有:
myArray = [@[@"ALL ITEMS"] arrayByAddingObjectsFromArray:myArray];
我还没有描述过。
答案 3 :(得分:15)
看一下NSMutableArray类的insertObject:atIndex:方法。要将一个对象添加到数组的前面,请使用0作为索引:
[myMutableArray insertObject:myObject atIndex:0];
答案 4 :(得分:15)
NSArray是不可变数组,您无法在运行时修改它。使用NSMutableArray
[array insertObject:@"YourObject" atIndex:0];
答案 5 :(得分:7)
NSArray是不可变的,但你可以使用NSMutableArray类的insertObject:方法
[array insertObject:@"all items" atIndex:0];
答案 6 :(得分:2)
NSArray不是dyanamic来解决你必须使用NSMutableArray的目的。请参阅以下方法
- (void)insertObject:(id)anObject atIndex:(NSUInteger)index;
答案 7 :(得分:2)
由于你的数组中已经有10个对象,你需要在索引11处添加另一个项目......所以,你必须尝试这个....希望这有帮助...
NSMutableArray *yourArray = [[NSMutableArray alloc] initWithCapacity:11];
[yourArray insertObject:@"All Items" atIndex:0];
答案 8 :(得分:1)
Apple文档说 NSMutableArray 方法
[temp insertObject:@"all" atIndex:0];
答案 9 :(得分:1)
斯威夫特3:
str = str.split("/", 2)[2]