2010-03-18 76 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将失败的默默。