我想从函数的目标中获取许多变量
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
但是如果我说object.somevalue
,XCode就不会编译 - 我正在使用[change objectForKey:@"new"]
来获取更改的值,但是我希望获得更多的值而我不想打破MVC我已经设置了
答案 0 :(得分:1)
编译器不知道类object
是什么,它只知道在哪里找到它(通过id指针)。它不会让你编译访问somevalue
的代码,因为它不知道去哪里寻找它。因此,您必须将对象强制转换为您所知道的对象,或使用括号表示法向其发送消息:[object somevalue]
并使用它给出的警告。