【发布时间】:2011-05-08 02:57:36
【问题描述】:
我的应用程序类 A 和 B 中有两个类。A 类和 B 类都是 UIViewController 的实例。 A 类有一个按钮,当按下该按钮时,会将 B 类推入堆栈。 B 类有一个字符串,A 类想要观察并根据需要更新它的接口。我已经能够使用:
[self addObserver:self forKeyPath:@"name" options:0 context:NULL]; 在 B 类中查看对字符串的更改。
当我尝试在 A 类 viewWillAppear 方法中使用以下内容时:
ClassB *b = [[ClassB alloc]init];
[b addObserver:self forKeyPath:@"name" options:0 context:NULL];
并添加方法:
(void)observeValueForKeyPath:(NSString )keyPath ofObject:(id)object
change:(NSDictionary )change
context:(void )context
尝试从 A 查看在 B 中所做的更新时不会触发任何操作。我觉得问这个问题很愚蠢,但是 KVO 在 iOS 中的两个类之间如何工作?我知道这应该可行。
【问题讨论】:
标签: iphone ios key-value-observing