如何在NSArray的第一个索引处添加对象

时间:2012-12-13 06:54:38

标签: ios objective-c nsarray

我想在NSARRAY的第一个索引处添加@“ALL ITEMS”对象。

最初,Array有10个对象。添加后,数组应包含11个对象。

10 个答案:

答案 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]