我有一个带有NSString属性currentTag的MainViewController。所以我做:
[self addObserver:self forKeyPath:@"currentTag" options:NSKeyValueObservingOptionNew context:nil];
这样就可以正常工作,并且所做的更改也得到了正确处理。但是,我还有另一个类SecondViewController,并且我还希望它观察MainViewController的currentTag,因此在SecondViewController的viewDidLoad方法中,我这样做:
[self addObserver:self.mainViewController forKeyPath:@"currentTag" options:NSKeyValueObservingOptionNew context:nil];
但是,由于某种原因,这一操作没有得到处理。它永远不会被调用。我想确保我的语法和格式正确,然后再在代码中查找该问题。这段代码看起来还好吗?
最佳答案
您做错了,应该这样做:
[self.mainViewController addObserver:self forKeyPath:@"currentTag" options:NSKeyValueObservingOptionNew context:nil];
关于iphone - 外部类里面的KVO无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10248435/