НаблюдатьValueForKeyPath не вызывается - PullRequest
18 голосов
/ 28 апреля 2010

У меня есть ViewController, создающий экземпляр UIView, и затем я регистрирую наблюдателя в экземпляре, так что

logoAnimation = [[MainLogoAnimation alloc] init];
[logoAnimation addObserver:self forKeyPath:@"patrocinioDidLoad" options:(NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld) context:nil];

тогда, в том же файле, у меня есть:

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
 NSLog(@"%@ \n %@ \n %@ \n ",keyPath,object,change);
}

Но, хотя я проверил и дважды проверил, что logoAnimation.patrocinioDidLoad изменился, Наблюдение ValueForKeyPath никогда не вызывается ...

Я что-то упустил?

Спасибо за помощь!

Антонио

1 Ответ

20 голосов
/ 28 апреля 2010

решено: Я устанавливал patrocinioDidLoad в logoAnimation напрямую, без использования стандартных методов получения и установки. В логотипе анимация,

patrocinioDidLoad = YES;

не работает, тогда как

self.patrocinioDidLoad = YES;

сделал!

...