2011-11-11 22 views
2

我想從視圖控制器觀察單身人士的字符串。從視圖控制器觀察單身人士的數據

在我的視圖控制器我這樣做是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"); 
} 

將TestString,在辛格爾頓,是5秒後更改,但不會調用observeValueForKeyPath ..我做錯了什麼?

+0

你正在改變字符串指針或變異可變字符串? – jbat100

+0

我正在做testString = @「sdfsdfdf」 – cannyboy

回答

5

使用屬性例如self.testString = newString而不是testString = newString或KVO不起作用。

+1

謝謝,這足以讓我錯過。 – cannyboy

+1

@cannyboy - 我建議通讀[Key-Value Observing Programming Guide](http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/KeyValueObserving/KeyValueObserving.html#//apple_ref/ doc/uid/10000177-BCICJDHA),所以你可以在這裏看到幕後發生了什麼。 –

+0

我仍然無法得到這個工作 –