0

在我的数据模型中,在一个实体中,我有一个布尔属性。在 xcmod​​eldatad 文件中,它被列为:

need sync Boolean. 在 NSmanagedobject 文件中如下:

.h file: @property (nonatomic, strong) NSNumber *needsync;//bool
.m file @dynamic needsync;

在编辑后保存记录时,我使用了之前多次使用过的以下代码:

[list setValue:@0 forKey:@"needsync"];

但是,当它到达这一行时会抛出异常

NSUnknownKeyException', reason: '[<__NSCFString 0x17409c4d0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key need sync.'

这真的让我感到困惑,我想知道是否有人能发现错误或以前发生过这种情况。

谢谢你。

4

2 回答 2

1

再次检查您的代码。

崩溃日志显示您的对象是 NSString,而不是 YourList 对象,因此,它没有需要同步属性 => 崩溃。

于 2017-04-28T03:15:21.753 回答
0

你的list字典是什么类型的?是NSMutableDictionary<NSString*, NSNumber*>吗?如果是这样,那么您的Entity AttributeProperty Declaration之间的类型可能不匹配。

或者,如果您的字典属于类型,请NSMutableDictionary<NSNumber*, NSNumber*>尝试以下操作:

[list setObject:@0 forKey:needsync]; // don't make `needsync` a NSString* object, it's already an object type (NSNumber*)
于 2017-04-28T04:04:42.073 回答