2016-04-07 27 views
-3

Ich habe eine NSMutableArray mit vielen Objekten. Was ich will, ist, an den ersten 3 Positionen (Indizes) neue Objekte einzufügen und andere Objektindizes entsprechend zu verschieben.Hinzufügen von Objekten für NSMutableArray

Zum Beispiel habe ich NSMutableArray mit Objekten: obj1, obj2, obj3, obj4.

Ich möchte mein Array ändern, so dass es wie folgt aussehen: newObj1, newObj2, newObj3, obj1, obj2, obj3.

Im ängstlich, wenn ich [myMutableArray insertObject:myObject atIndex:0]; verwende ich werde meinen obj1 mit newObj1 wiederholen, deshalb wäre es so etwas wie: newObj1, newObj2, newObj3, OBJ4, OBJ5 ...

Wie könnte ich meinen Punkt erreichen?

+3

Haben Sie versucht mit 'insertObject: atIndex:'? Sie könnten mit den Ergebnissen zufrieden sein. Aus [den Dokumenten] (https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSMutableArray_Class/#//apple_ref/occ/instm/NSMutableArray/insertObject:atIndex :): " Wenn der Index bereits belegt ist, werden die Objekte im Index und darüber hinaus durch Hinzufügen von 1 zu ihren Indizes verschoben, um Platz zu schaffen. " – Hamish

+1

Sie werden Ihre alten Objekte nicht ersetzen, sie werden verschoben, wie Sie wollen – gvuksic

+0

@ originaluser2 okay, danke :) –

Antwort

1

es wird Ihr Objekt nicht ersetzen. wird es sich verhalten, was Sie erwarten, also setzen Sie einfach diesen Code

1

insertObject:atIndex: Diese Methode wird zum Einfügen eines Objekts an einem angegebenen Index verwendet und wenn ein Objekt existiert an diesem Index dann das vorhandene Objekt wird zum nächsten Index bewegt (ein Objekt nicht ersetzen) und neues Objekt hinzugefügt.

replaceObjectAtIndex:withObject: Diese Methode ersetzt ein altes Objekt durch ein neues.

Verwandte Themen