20

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

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

4

10 回答 10

50

您无法修改NSArray以进行插入和添加。你需要使用NSMutableArray. 如果要在指定索引处插入对象

[array1 insertObject:@"ALL ITEMS" atIndex:0];

Swift 2.0

array1.insertObject("ALL ITEMS", atIndex: 0)
于 2012-12-13T06:58:53.930 回答
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 的最后一个元素。

于 2012-12-13T07:18:03.990 回答
17

我知道对于 insertObject 我们有六个答案,一个用于创建 (n) NSMutableArray 数组然后调用 addObject,但也有这个:

myArray = [@[@"ALL ITEMS"] arrayByAddingObjectsFromArray:myArray];

不过我也没有介绍过。

于 2014-05-15T21:29:02.157 回答
16

看一下 NSMutableArray 类的 insertObject:atIndex: 方法。要将对象添加到数组的前面,使用 0 作为索引:

[myMutableArray insertObject:myObject atIndex:0];
于 2012-12-13T06:56:37.040 回答
15

NSArray是不可变数组,您无法在运行时对其进行修改。使用NSMutableArray

[array insertObject:@"YourObject" atIndex:0];
于 2012-12-13T07:13:14.593 回答
7

NSArray 是不可变的,但您可以使用 insertObject: NSMutableArray 类的方法

[array insertObject:@"all items" atIndex:0];
于 2012-12-13T06:58:20.017 回答
3

由于您的数组中已经有 10 个对象,并且您需要在索引 11 处添加另一个项目...所以,您必须尝试这个...希望这会有所帮助..

NSMutableArray *yourArray = [[NSMutableArray alloc] initWithCapacity:11];
[yourArray insertObject:@"All Items" atIndex:0];
于 2012-12-13T07:46:50.907 回答
2

NSArray 不能动态解决您必须使用 NSMutableArray 的目的。参考以下方法

- (void)insertObject:(id)anObject atIndex:(NSUInteger)index;
于 2012-12-13T06:58:08.893 回答
1

苹果文件说NSMutableArray方法

 [temp insertObject:@"all" atIndex:0];
于 2015-05-25T14:11:34.620 回答
1

斯威夫特 3:

func addObject(){
    var arrayName:[String] = ["Name1", "Name2", "Name3"]
    arrayName.insert("Name0", at: 0)
    print("---> ",arrayName)
}

Output:
---> ["Name0","Name1", "Name2", "Name3"]
于 2017-09-27T09:31:14.873 回答