首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >未调用observeValueForKeyPath

未调用observeValueForKeyPath
EN

Stack Overflow用户
提问于 2010-04-28 18:33:09
回答 1查看 8.3K关注 0票数 18

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

代码语言:javascript
复制
logoAnimation = [[MainLogoAnimation alloc] init];
[logoAnimation addObserver:self forKeyPath:@"patrocinioDidLoad" options:(NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld) context:nil];

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

代码语言:javascript
复制
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
 NSLog(@"%@ \n %@ \n %@ \n ",keyPath,object,change);
}

但是,尽管我一遍又一遍地检查logoAnimation.patrocinioDidLoad已经更改,但observeValueForKeyPath从未被调用过……

我是不是遗漏了什么?

谢谢你的帮助!

安东尼奥

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-04-28 18:54:31

解决了这个问题:我直接在logoAnimation中设置patrocinioDidLoad,而不使用标准的getter和setter。在logoAnimation中,

代码语言:javascript
复制
patrocinioDidLoad = YES;

不起作用,然而

代码语言:javascript
复制
self.patrocinioDidLoad = YES;

做!

票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2728638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档