2016-04-07 143 views
-3

我有一個NSMutableArray與很多的對象。我想要的是,首先插入3個位置(索引)新對象,並相應地移動其他對象索引。添加對象NSMutableArray

例如,我有NSMutableArray與對象:obj1,obj2,obj3,obj4。

我想修改我的數組,所以它看起來像下面:newObj1,newObj2,newObj3,obj1,obj2,obj3。

我怕,如果我使用[myMutableArray insertObject:myObject atIndex:0];我將重播我與newObj1 OBJ1,因此這將是這樣的:newObj1,newObj2,newObj3,OBJ4,obj5 ...

我怎麼能實現我的觀點?

+3

您是否嘗試過使用'insertObject:atIndex:'?你可能會對結果感到滿意。從[文檔](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:此方法實際上用新的對象替換舊的對象。