2011-11-11 8 views
2

私はビューコントローラーからシングルトンの文字列を観察しようとしています。私のビューコントローラでビューコントローラーからシングルトンのデータを観察する

私はのviewDidLoadでこれを行う:

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

..andこのコードは、ビューコントローラの下にあります、シングルトンで、

- (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

testString = newStringまたはKVOの代わりにself.testString = newStringが機能しません。

+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

私はまだこの作業を得ることができません –

関連する問題