7

我有一个现有数组,我想在现有数组的前面添加另一个数组。

添加到最后是没有问题的

[existingArray addObjectsFromArray:newArray];

但是怎么加到前面呢?

4

8 回答 8

19

您可以在没有临时数组的情况下执行此操作,并且不假设它newArray是一个NSMutableArray,并且不制作一个NSIndexSet

[existingArray replaceObjectsInRange:NSMakeRange(0,0)
                withObjectsFromArray:newArray];
于 2012-04-20T07:28:54.137 回答
16

相同的方法,但颠倒顺序并重新分配:

[newArray addObjectsFromArray:existingArray];
existingArray = newArray;
于 2012-04-20T07:23:26.890 回答
3
 [newArray addObjectsFromArray:existingArray];
 existingArray = newArray;

希望,这会帮助你..享受...

于 2012-04-20T07:23:00.630 回答
2

您可以创建第三个数组并按您想要的顺序添加元素,然后将其返回到第一个:

NSMutableArray *tempArray = [NSMutableArray arrayWithArray:newArray];
[tempArray addObjectsFromArray:existingArray];
于 2012-04-20T07:23:49.473 回答
2

为了完整起见,这是一种非常不同的方式:

NSIndexSet *indexes = [NSIndexSet indexSetWithIndexesInRange: (NSRange) {0, [newArray count]}];
[existingArray insertObjects: newArray atIndexes: indexes];
于 2012-04-20T07:29:07.443 回答
0

您可以尝试将对象添加到以下代码的索引:

[existingArray insertObjects:newArray atIndexes:0];

谢谢..!

于 2012-04-20T07:26:15.487 回答
0

认为前两个答案更优雅,但这是另一种方式:

采用:

[existingArray insertObjects:newArray atIndexes:indexSet];

从哪里indexSet跑到。0newArray.count-1

于 2012-04-20T07:26:43.577 回答
-2

要在现有数组之前插入 j,您必须使用索引 0

[newArray insertObject: existingArray atIndex:0]
于 2012-04-20T07:25:55.097 回答