2016-04-07 9 views
-3

私は多くのオブジェクトを持つNSMutableArrayを持っています。私が望むのは、新しいオブジェクトを最初の3つの位置(インデックス)に挿入し、それに応じて他のオブジェクトのインデックスを移動することです。NSMutableArrayのオブジェクトを追加します。

たとえば、私はNSMutableArrayオブジェクトを持っています:obj1、obj2、obj3、obj4。

私の配列を変更したいので、newObj1、newObj2、newObj3、obj1、obj2、obj3のようになります。

恐れイム私はので、それはようなものになるだろう、newObj1と私のOBJ1を再生します[myMutableArray insertObject:myObject atIndex:0];を使用した場合、:newObj1、newObj2、newObj3、OBJ4、OBJ5 ...

は、どのように私は私のポイントを達成できますか?

+3

'insertObject:atIndex:'を使ってみましたか?あなたは結果に満足しているかもしれません。 [the docs](https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSMutableArray_Class/#//apple_ref/occ/instm/NSMutableArray/insertObject:atIndex :)から:インデックスがすでに占有されている場合、インデックスおよびそれ以降のオブジェクトは、インデックスを1つ増やして移動させてルームを作成します。 – Hamish

+1

あなたは古いオブジェクトを置き換えることはありません、彼らはあなたが望むように移動されます – gvuksic

+0

@ originaluser2大丈夫、ありがとう:) –

答えて

1

あなたのオブジェクトを置き換えることはありません。 これはあなたが期待しているとおりに動作するので、そのコードを入れてください

1

insertObject:atIndex:このメソッドは、指定されたインデックスにオブジェクトを挿入するために使用され、オブジェクトがそのインデックスに存在する場合、オブジェクトを置き換えない)、新しいオブジェクトが追加されます。

replaceObjectAtIndex:withObject:このメソッドは、実際には古いオブジェクトを新しいものに置き換えます。

関連する問題