回答

11

你可以问它是否响应到选择,或询问关键

//will check for the getter 
[anObj respondsToSelector:@selector(someKey)] 

//will check in a way that doesn't throw an exception for a value 
[andObj valueForKey:@"someKey"] 

//keypath of a nested value 
[anObj valueForKeypath:@"child.property"] 

价值,但如果你得到一个消息,那东西是不符合KVC这通常意味着你已经设置的东西了不正确地,例如与错误的键或类的绑定。

+0

[anObj respondsToSelector:NSSelectorFromString(somekey)]是正确的 – rockey

+0

@rockey不,它不是。对象可以是针对'somekey'编码的键值,但你的方法调用将返回'NO'。 – DanSkeel

相关问题