2010-03-18 100 views
2
[sessionController.currentSession addObserver:self 
          forKeyPath:@"sessionState" 
           options:(NSKeyValueChangeSetting) 
           context:NULL]; 

這似乎沒有工作。Objective-C鍵值觀察

此代碼去的類知道sessionController並可以訪問currentSession。 currentSession的sessionState變量是我想觀察的。它是否以我在此處完成的方式設置要觀察的對象是否爲verboten

如果是這樣,那麼做法是什麼?給觀察對象一個currentSession變量。

+0

你實現了'observeValueForKeyPath:ofObject:change:context:'in self right?你確保它不會被稱爲? – 2010-03-18 06:57:52

+0

什麼是currentSession的類型? – 2010-03-18 06:59:39

+0

是的,observeValueForKeyPath:ofObject:change:context:在self中實現,並且正在爲其他東西工作。它根本沒有被調用 - 即使在切換之外 - 爲此。它正在接受其他的東西,因爲它應該。當前會話是NSManagedObject的一個子類,爲此我有實際的.h和.m文件。 – mwt 2010-03-18 17:42:20

回答

0

當您調用方法時,sessionController.currentSession是否包含有效值?

這是一個常見的陷阱,發送一條消息到null將失敗的默默。