iphone - 外部类里面的KVO无法正常工作

标签 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];

但是,由于某种原因,这一操作没有得到处理。它永远不会被调用。我想确保我的语法和格式正确,然后再在代码中查找该问题。这段代码看起来还好吗?

最佳答案

您做错了,应该这样做:

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

关于iphone - 外部类里面的KVO无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10248435/

相关文章:

objective-c - 用于重新排列空间的 API

ios - NSData 初始化?(contentsOf url : URL) migration from Swift 2 to Swift 3

iphone - 崩溃 - "Collection <CALayerArray: 0x645dfc0> was mutated while being enumerated."

iphone - 如何在表格 View 中插入和删除单元格

iphone - 调用 ABAddressBookGetPersonWithRecordID 的问题

iphone - iTunes Music Store Link Maker — 如何在我的应用程序中进行搜索?

ios - UIViewController 方法调整不起作用

objective-c - NSManagedObject 实现协议(protocol) - 由于 @dynamic 引起的警告

iphone - 如何删除所有项目并向 UICollectionView 添加新项目?

ios - iOS Healthkit记录自定义锻炼数据