, Это очень хорошее предложение, и если у вас нет конкретной причины для непосредственного наблюдения за объектом, вы должны принять его. (Одним из преимуществ является то, что вы можете использовать привязки для подключения представлений к новому контроллеру массива.)

аюсь заставить наблюдение значения ключа работать для NSMutableArray. Ниже приведен файл .h для MyObservee, наблюдаемого класса:

@interface MyObservee : NSObject {
    @private int someValue;
    @private NSMutableArray *someArray;
}

@property (readwrite,assign) int someValue;
- (NSMutableArray *)someArray;
@end

Класс MyObserver реализует наблюденийValueForKeyPath: ofObject: change: context :. Вот как я добавляю наблюдателя:

MyObservee *moe = [[MyObservee alloc] init];
MyObserver *mobs = [[MyObserver alloc] init];

[moe addObserver:mobs 
      forKeyPath:@"someArray" 
         options:(NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld) 
         context:NULL];

[moe.someArray addObject:@"hi there"];

Почему сообщение addObject: не срабатывает как изменение пути к ключу someArray? У меня есть чувство, что я здесь чего-то не понимаю.

Ответы на вопрос(3)

Ваш ответ на вопрос