【发布时间】:2012-12-13 06:54:38
【问题描述】:
我想在 NSARRAY 的第一个索引处添加 @"ALL ITEMS" 对象。
最初数组有 10 个对象。添加后,数组应该包含 11 个对象。
【问题讨论】:
标签: ios objective-c nsarray
我想在 NSARRAY 的第一个索引处添加 @"ALL ITEMS" 对象。
最初数组有 10 个对象。添加后,数组应该包含 11 个对象。
【问题讨论】:
标签: ios objective-c nsarray
您不能修改NSArray 以进行插入和添加。你需要使用NSMutableArray。如果要在指定索引处插入对象
[array1 insertObject:@"ALL ITEMS" atIndex:0];
在Swift 2.0
array1.insertObject("ALL ITEMS", atIndex: 0)
【讨论】:
首先,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 的最后一个元素插入。
【讨论】:
我知道insertObject有六个答案,一个是创建一个(n) NSMutableArray数组然后调用addObject,但也有这个:
myArray = [@[@"ALL ITEMS"] arrayByAddingObjectsFromArray:myArray];
不过我也没有介绍过。
【讨论】:
看一下 NSMutableArray 类的 insertObject:atIndex: 方法。要在数组的前面添加一个对象,使用 0 作为索引:
[myMutableArray insertObject:myObject atIndex:0];
【讨论】:
NSArray 是不可变数组,您不能在运行时修改它。使用NSMutableArray
[array insertObject:@"YourObject" atIndex:0];
【讨论】:
NSArray 是不可变的,但你可以使用 NSMutableArray 类的 insertObject: 方法
[array insertObject:@"all items" atIndex:0];
【讨论】:
由于您的数组中已经有 10 个对象,并且您需要在索引 11 处添加另一个项目...所以,您必须尝试这个...希望这会有所帮助..
NSMutableArray *yourArray = [[NSMutableArray alloc] initWithCapacity:11];
[yourArray insertObject:@"All Items" atIndex:0];
【讨论】:
NSArray 不能动态解决您必须使用 NSMutableArray 的目的。参考以下方法
- (void)insertObject:(id)anObject atIndex:(NSUInteger)index;
【讨论】:
Apple 文档说 NSMutableArray 方法
[temp insertObject:@"all" atIndex:0];
【讨论】:
斯威夫特 3:
func addObject(){
var arrayName:[String] = ["Name1", "Name2", "Name3"]
arrayName.insert("Name0", at: 0)
print("---> ",arrayName)
}
Output:
---> ["Name0","Name1", "Name2", "Name3"]
【讨论】: