Вам не нужен NSArrayController для наблюдения за изменениями NSArray
.Однако вы не можете напрямую наблюдать за этими изменениями, то есть вы не можете позвонить -addObserver:forKeyPath:options:context:
напрямую на NSArray
.В вашем случае вы хотите позвонить на ваш GameModel
с @"playerNameArray"
в качестве ключа.
Вы еще не закончили.Обычные автоматические уведомления KVO будут срабатывать только при вызове -setPlayerNameArray:
, заменяя тем самым весь массив.Если вы хотите более детализированные уведомления, вам нужно использовать -willChange:valuesAtIndexes:forKey:
и -didChange:valuesAtIndexes:forKey:
всякий раз, когда вы вставляете, удаляете или заменяете элементы в этом массиве.
Это будет отправлять уведомление всякий раз, когда содержимое массива изменяется,В зависимости от NSKeyValueObservingOptions
, который вы используете при добавлении наблюдателя, вы также можете получить внесенные изменения - это классная функция, но в этом случае она вам может не понадобиться.
Примечание: NSArrayController не существуетна iOS.Это часть Cocoa Bindings, которая в настоящее время существует только в AppKit на Mac OS X. К счастью, она вам не нужна.