Wie entferne ich nur eine Instanz eines Objekts von einem NSMutableArray?

7

Die Apple-Dokumentation besagt, dass die Methode - (void)removeObject:(id)anObject alle Vorkommen des angegebenen Objekts aus einem NSMutableArray entfernt.

Gibt es eine Möglichkeit, nur ein Vorkommen des Objekts aus dem Array zu entfernen?

    
gossainapps 15.08.2012, 04:08
quelle

3 Antworten

15

Wenn Sie eine bestimmte Instanz entfernen möchten, die eine eindeutige Speicheradresse hat, ansonsten aber mit anderen Instanzen vergleichbar wäre, verwenden Sie removeObjectIdenticalTo: .

Wenn Sie das erste Objekt in dem Array entfernen möchten, das der Rechnung entspricht, verwenden Sie indexOfObject: , das den niedrigsten Index findet, gefolgt von removeObjectAtIndex: Sie können auch indexesOfObjectsPassingTest: verwenden, um die Liste aller Indizes zu erhalten Enthalten Sie gleiche Objekte als NSIndexSet und wählen Sie dann eines von dort aus - vielleicht lastIndex , zB

    
Josh Caswell 15.08.2012, 04:13
quelle
4

Es ist wirklich einfach: [yourArray removeObjectAtIndex: [IhrArray indexOfObject: yourObject]]

    
Luan Nguyen 10.05.2013 03:52
quelle
1

Ja, Sie möchten den Index des spezifischen Objekts finden, das Sie entfernen möchten, und rufen Sie auf:

%Vor%

Siehe die Apple-Dokumentation für NSMutableArray hier .

    
Barlow Tucker 15.08.2012 04:11
quelle