observeValueForKeyPath未被调用

Ant*_*nio 18 iphone key-value-observing

我有一个ViewController创建一个UIView的实例,然后我用这个实例注册一个观察者

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

然后,在同一个文件中,我有:

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

但是,虽然我已经检查并仔细检查了logoAnimation.patrocinioDidLoad是否发生了变化,但观察到的值仍未被调用...

我错过了什么吗?

谢谢您的帮助!

安东尼奥

Ant*_*nio 20

解决了它:我直接在logoAnimation中设置了patrocinioDidLoad,没有使用标准的getter和setter.在logoAnimation中,

patrocinioDidLoad = YES;
Run Code Online (Sandbox Code Playgroud)

不起作用,而

self.patrocinioDidLoad = YES;
Run Code Online (Sandbox Code Playgroud)

没有!