observeValueForKeyPath, не будучи названным

У меня есть 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 изменился, observeValueForKeyPath никогда не называется...

Я пропускаю что-то?

Спасибо за справку!

Antonio

18
задан Chris Hanson 19 July 2010 в 06:08
поделиться

1 ответ

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

patrocinioDidLoad = YES;

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

self.patrocinioDidLoad = YES;

работает!

20
ответ дан 30 November 2019 в 08:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: