2016-04-07 141 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:此方法实际上用新的对象替换旧的对象。