1

尝试使用键值编码在我的对象上设置值:

[engine setValue:[NSNumber numberWithInt:horsePower]
          forKey:@"horsePower"];

导致错误:

[<Slant6 0x7fbc61c15c40> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key horsePower.

我需要做什么才能使engine键值编码兼容?

4

2 回答 2

4

确保engine属于的任何类都实现了horsePower属性,和/或具有horsePower实例变量,和/或手动实现setHorsePower:horsePower方法。

您收到错误是因为您尝试设置horsePower键的值,但engine' 的类没有正确实现设置horsePower键的方法。

于 2012-07-15T12:41:45.980 回答
3

有很多利用 KVC的方法——也许最简单的方法是在你的类中使用你想要使用的键名的实例变量,即:

@interface Engine: NSObject {
    NSNumber *horsePower;
    // etc.
}
于 2012-07-15T12:43:04.187 回答