У меня есть вопрос относительно использования KVO-совместимых методов для вставки / удаления объектов из массива.Я работаю через Программирование Какао Аарона Хиллегаса для Mac OS X, и я увидел следующую строку кода (в методе insertObject:inEmployeesAtIndex:
:
[[undoManager prepareWithInvocationTarget:self] removeObjectFromEmployeesAtIndex:index];
Исправьте меня, если я ошибаюсь, но я всегдаЯ подумал, что лучше позвонить mutableArrayValueForKey:
, а затем removeObjectAtIndex:
... поэтому я попытался изменить приведенную выше строку следующим образом:
[[undoManager prepareWithInvocationTarget:[self mutableArrayValueForKey:@"employees"]] removeObjectAtIndex:index];
И это не сработало. Может кто-нибудь объяснить разницу и почемупервая строка работает, а вторая - нет?
ОБНОВЛЕНИЕ: Мой метод removeObjectFromEmployeesAtIndex: index реализован для того, чтобы сделать мой класс коллекции (экземпляр NSMutableArray) KVC-совместимым. Так что в конечном итоге вызов [[self mutableArrayValueForKey:@"employees"] removeObjectAtIndex:index];
долженв итоге звоните [self removeObjectFromEmployeesAtIndex:index];