我有一个现有的数组,我想在现有数组的前面添加另一个数组。
添加到最后没问题
[existingArray addObjectsFromArray:newArray];
但是如何将它添加到前面?
答案 0 :(得分:19)
您可以在没有临时数组的情况下执行此操作,并且不假设newArray
是NSMutableArray
,并且没有NSIndexSet
:
[existingArray replaceObjectsInRange:NSMakeRange(0,0)
withObjectsFromArray:newArray];
答案 1 :(得分:16)
相同的方法,但反转顺序并重新分配:
[newArray addObjectsFromArray:existingArray];
existingArray = newArray;
答案 2 :(得分:3)
[newArray addObjectsFromArray:existingArray];
existingArray = newArray;
希望,这会对你有所帮助......很高兴......
答案 3 :(得分:2)
您可以创建第3个数组并按所需顺序添加元素,然后将其重新添加到第一个数组:
NSMutableArray *tempArray = [NSMutableArray arrayWithArray:newArray];
[tempArray addObjectsFromArray:existingArray];
答案 4 :(得分:2)
为了完整起见,这里有一个非常不同的方式:
NSIndexSet *indexes = [NSIndexSet indexSetWithIndexesInRange: (NSRange) {0, [newArray count]}];
[existingArray insertObjects: newArray atIndexes: indexes];
答案 5 :(得分:0)
您可以尝试在代码下面添加对象索引:
[existingArray insertObjects:newArray atIndexes:0];
谢谢..!
答案 6 :(得分:0)
认为两个第一个答案更优雅,但这是另一种方式:
使用:
[existingArray insertObjects:newArray atIndexes:indexSet];
indexSet
从0
到newArray.count-1
的位置。
答案 7 :(得分:-2)
要在现有数组之前插入,必须使用索引0
[newArray insertObject: existingArray atIndex:0]