从视图控制器观察Singleton的数据

can*_*boy 2 singleton objective-c key-value-observing ios

我正在尝试从视图控制器中观察Singleton中的字符串.

在我的视图控制器中,我在viewDidLoad中执行此操作:

  Singleton *singleton = [Singleton sharedSingleton];
    [singleton addObserver:self
                    forKeyPath:@"testString"
                       options:NSKeyValueObservingOptionNew
                       context:nil];
Run Code Online (Sandbox Code Playgroud)

..并且此代码位于视图控制器的底部:

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
    NSLog(@"recieved");
}
Run Code Online (Sandbox Code Playgroud)

Singleton中的testString在5秒后更改,但是没有调用observeValueForKeyPath.我做错了什么?

Rom*_*nko 5

使用属性,例如self.testString = newString代替testString = newString或KVO将不起作用.