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

Posted

技术标签:

【中文标题】如何在 NSArray 的第一个索引处添加对象【英文标题】:How to add object at first index of NSArray 【发布时间】:2012-12-13 06:54:38 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

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

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

Swift 2.0

array1.insertObject("ALL ITEMS", atIndex: 0)

【讨论】:

【参考方案2】:

首先,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 的最后一个元素插入。

【讨论】:

下面的答案解释了正确的方法。 (***.com/a/13854608/309046)。但是,是的,需要使用 NSMutableArray。 @Satish:你不需要使用可变数组;它是一个班轮。【参考方案3】:

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

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

不过我也没有介绍过。

【讨论】:

这个答案没有得到更多支持真是太疯狂了。我发现自己只需要在 NSArray 的第一个索引处添加一个条目,这个答案非常适合这个目的。更不用说,这个答案是多么简单明了。它有点打击你,让你问,我为什么没想到! 是的...我不需要创建 NSMutableArray 并且它只有一行.. 真的很好。【参考方案4】:

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

[myMutableArray insertObject:myObject atIndex:0];

【讨论】:

【参考方案5】:

NSArray 是不可变数组,您不能在运行时修改它。使用NSMutableArray

[array insertObject:@"YourObject" atIndex:0];

【讨论】:

【参考方案6】:

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

[array insertObject:@"all items" atIndex:0];

【讨论】:

【参考方案7】:

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

NSMutableArray *yourArray = [[NSMutableArray alloc] initWithCapacity:11];
[yourArray insertObject:@"All Items" atIndex:0];

【讨论】:

initWithCapacity 不是必需的。这只是一个提示,该数组可能会在某个时候包含 11 个元素,但没有它一切都可以正常工作。 [NSMutableArray 数组] 工作得很好。【参考方案8】:

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

- (void)insertObject:(id)anObject atIndex:(NSUInteger)index;

【讨论】:

请注意使用正确格式的答案和问题。当您的意思是 code 时,您仍然使用 quotation 抱歉,Steen,我是 *** 的新手,仍在试图了解它是如何工作的。 这就是为什么我要通过让您知道来提供帮助。 =) 但是如何从索引 0 开始插入多个/数组。类似于:@[1,2,3,4,5] 我们必须添加 @[0.1, 0.2, 0.3, 0.4]在前一个数组的开头。【参考方案9】:

Apple 文档说 NSMutableArray 方法

 [temp insertObject:@"all" atIndex:0];

【讨论】:

只写一段代码而没有任何进一步的解释并不是一个好的答案。能多写点吗?你能解释一下为什么你的答案很好吗?只需按“编辑按钮”即可添加到您的答案中。【参考方案10】:

斯威夫特 3:

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


Output:
---> ["Name0","Name1", "Name2", "Name3"]

【讨论】:

以上是关于如何在 NSArray 的第一个索引处添加对象的主要内容,如果未能解决你的问题,请参考以下文章

iOS NSArray 在索引处插入对象

在 RecyclerView 的第一个索引处添加项目并调用 notifydatasetchange 后如何保持在滚动位置

在 NSMutableArray 的特定索引处添加对象

如何在reducer中的数组索引处添加对象

将对象添加到指定索引处的 ArrayList

C# combox 设置显示下拉菜单的第一项,如图。还有下拉选项的索引怎么回事,所索引为零是菜单的第一个选项