如何在 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 的第一个索引处添加对象的主要内容,如果未能解决你的问题,请参考以下文章
在 RecyclerView 的第一个索引处添加项目并调用 notifydatasetchange 后如何保持在滚动位置