我的应用程序类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];
Run Code Online (Sandbox Code Playgroud)
并添加方法:
(void)observeValueForKeyPath:(NSString )keyPath ofObject:(id)object
change:(NSDictionary )change
context:(void )context
Run Code Online (Sandbox Code Playgroud)
尝试从A中查看B中所做的更新时没有触发任何操作.我觉得这个问题很傻但是KVO如何在iOS中的两个类之间工作?我知道这应该有效.