2012-08-15 1 views

risposta

15

Se si dispone di una particolare istanza che si desidera rimuovere, che ha un indirizzo di memoria univoco ma che altrimenti sarebbe uguale a confronto con altre istanze, si utilizzerà removeObjectIdenticalTo:.

Se si desidera rimuovere il primo oggetto nella matrice che si inserisce il disegno di legge, utilizzare indexOfObject:, che trova l'indice più basso, seguita da removeObjectAtIndex: È inoltre possibile utilizzare indexesOfObjectsPassingTest: per ottenere l'elenco di tutti gli indici che contengono oggetti uguali, come un NSIndexSet, e poi sceglierne uno da lì - forse lastIndex, ad esempio

1

Sì, si vuole trovare l'indice dell'oggetto specifico che si desidera rimuovere e chiamare:

- (void)removeObjectAtIndex:(NSUInteger)index 

Vedere la documentazione Apple per NSMutableArray here.

+0

Sì, lo so di tale metodo. Tuttavia stavo cercando un metodo in cui non ho bisogno di conoscere l'indice. Dove devo solo fornire l'oggetto reale da rimuovere. – gossainapps

+0

di quanto hai creato la tua funzione per eliminarlo. – freelancer

4

E 'davvero semplice: [yourArray removeObjectAtIndex: [yourArray indexOfObject: yourObject]]