外面的KVO没有工作

时间:2012-04-20 14:45:08

标签: iphone objective-c ios key-value-observing

我有一个带有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];

然而,由于某种原因,这个没有得到处理。永远不会被召唤。我想在查看代码中的其他地方之前确保我的语法和表单是正确的。这段代码好吗?

1 个答案:

答案 0 :(得分:6)

你做错了,你应该这样做:

[self.mainViewController addObserver:self forKeyPath:@"currentTag" options:NSKeyValueObservingOptionNew context:nil];