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

3番目の配列を作成し、必要な順序で要素を追加してから、最初の配列に戻すことができます。

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

最初の2つの答えはよりエレガントだと思いますが、別の方法があります。

使用する:

[existingArray insertObjects:newArray atIndexes:indexSet];

からまでindexSet実行さ0newArray.count-1ます。

于 2012-04-20T07:26:43.577 に答える
0

コードの下のインデックスにオブジェクトを追加してみてください。

[existingArray insertObjects:newArray atIndexes:0];

ありがとう..!

于 2012-04-20T07:26:15.487 に答える
-2

j を既存の配列の直前に挿入するには、インデックス 0 を使用する必要があります

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