2015-06-15 3 views
0

я не буду, если это будет работать должным образомKVO. ObserveValueForKeyPAth не называется

[[cr1.crossRoad.trafficLights 
    objectForKey: [NSNumber numberWithInt:pedestrianTL]] 
    addObserver:view 
    forKeyPath:@"colorState" 
    options:NSKeyValueObservingOptionNew 
    context:nil]; 

Проект Я разрабатываю не работает должным образом. Таким образом, я пытался добавить наблюдателя для изменения представления после каждого изменения, происходящего с ячейкой массива colorState.

-(void) observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{ 
    [self refreshState:object]; 
} 

Программа никогда не вводит этот метод, хотя я меняю значения клеток colorState. Может быть, проблема в том, что я пытаюсь наблюдать массив, но не на самом деле, что он содержит?

+2

Вы уверены, что вызов объекта objectForKey возвращается? Разбейте инструкцию, чтобы упростить проверку через отладчик. – Droppy

ответ

0

Проблема была в том, что я пытался наблюдать массив, который не был таким.