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

时间:2011-11-11 15:03:02

标签: objective-c ios singleton key-value-observing

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

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

  Singleton *singleton = [Singleton sharedSingleton];
    [singleton addObserver:self
                    forKeyPath:@"testString"
                       options:NSKeyValueObservingOptionNew
                       context:nil];

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

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

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

1 个答案:

答案 0 :(得分:5)

使用属性,例如<{1}}代替self.testString = newString或KVO无效。