2011-06-07 47 views
0

我想从功能我可以从observeValueForKeyPath iphone

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context 

,但如果我说object.somevalue的XCode不会编译的目标得到了若干变量的对象中获取数据 - 我使用[change objectForKey:@"new"]得到改变了价值,但我想获得更多的价值,我不想打破我已经设置的MVC。

回答

1

编译器不知道类object是什么,它只知道在哪里找到它(通过id指针)。它不会让你编译访问somevalue的代码,因为它不知道去哪里寻找它。因此,您必须将对象投射到您知道的位置,或者使用括号表示法向其发送消息:[object somevalue],并且符合其提供的警告。

+0

很好的答案,谢谢! – daidai 2011-06-07 04:36:22