我正在制作一个iPhone应用程序,它从Web服务获取数据并将其存储在Core Data中。所有这些属性都有键在字典中标识它们。我有一个NSObject
类的所有属性。
我现在决定再添加一个名为checkMark
的Web服务未获得的属性。我也把它添加到这个方法中。问题是每当我尝试在这样的方法中设置checkMark
属性时:[s setValue:[NSNumber numberWithInt:check] forKey:@"checked"];
,s
为managedObject
我收到错误"the entity Course is not key value coding-compliant for the key "checked"
。我该如何解决?
- (id)initWithDictionary:(NSDictionary *)dictionary
{
self = [super init];
if (self) {
// Set the property values
_iD = [[dictionary valueForKey:@"Id"] intValue];
_isCurrent = [[dictionary valueForKey:@"IsCurrent"] boolValue];
_checkMark = [[dictionary valueForKey:@"checked"] intValue];
}
}
答案 0 :(得分:0)
您需要使“已检查”键的实体课程键值符合编码。
基本上这意味着它必须有一个setter setChecked:
和一个getter checked
。通常的情况是拥有一个具有该setter和getter的合成的属性。
顺便提一下,日志消息正在谈论实体课程这一事实告诉我,你正在调用dictionary
并作为NSDictionary投射的东西实际上根本不是字典,但可能是某种东西否则,即NSManagedObject。只是一个猜测...你可能会做一些记录/断点,看看这里发生了什么。