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