J'ai une question concernant l'utilisation de méthodes compatibles KVO pour insérer/supprimer des objets d'un tableau. Je travaille par Aaron Hillegass de Programmation Cocoa pour Mac OS X et je vis la ligne de code suivante (dans la méthode insertObject:inEmployeesAtIndex:
:Différence entre mutableArrayValueForKey et appel insertObject: inEmployeesAtIndex: directement
[[undoManager prepareWithInvocationTarget:self] removeObjectFromEmployeesAtIndex:index];
-moi si je me trompe, mais je toujours pensé qu'il valait mieux appeler mutableArrayValueForKey:
puis removeObjectAtIndex:
... donc j'essayé de changer la ligne ci-dessus à ceci:.
[[undoManager prepareWithInvocationTarget:[self mutableArrayValueForKey:@"employees"]] removeObjectAtIndex:index];
et ça n'a pas quelqu'un peut-il expliquer la différence et pourquoi la première ligne fonctionne, mais la deuxième ligne n » t?
UP DATE: Mon removeObjectFromEmployeesAtIndex: méthode d'index est implémentée pour rendre ma classe de collection (une instance de NSMutableArray) compatible KVC. Donc, finalement, appeler [[self mutableArrayValueForKey:@"employees"] removeObjectAtIndex:index];
devrait finir par appeler [self removeObjectFromEmployeesAtIndex:index];
Oh, désolé pour la confusion. J'ai mis à jour le poste avec plus de détails. Mais en fait, je veux appeler -removeObjecAtIndex: sur [self mutableArrayValueForKey: @employees "] – jasonbogd