我有一个带有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];
然而,由于某种原因,这个没有得到处理。永远不会被召唤。我想在查看代码中的其他地方之前确保我的语法和表单是正确的。这段代码好吗?
答案 0 :(得分:6)
你做错了,你应该这样做:
[self.mainViewController addObserver:self forKeyPath:@"currentTag" options:NSKeyValueObservingOptionNew context:nil];