2011-11-11 4 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

예 : testString = newString 또는 KVO 대신 self.testString = newString이 작동하지 않습니다.

+1

감사합니다, 그게 내가 그리워 할 정도로 가려웠다. – cannyboy

+1

@cannyboy - 내가 http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/KeyValueObserving/KeyValueObserving.html#//apple_ref/합니다 ([키 - 값 관찰 프로그래밍 가이드]을 통해 읽어 보시기 바랍니다 것 doc/uid/10000177-BCICJDHA) 여기에서 무엇이 진행되고 있는지 볼 수 있습니다. –

+0

나는 아직도이 일을 할 수 없다. –