Objective-C: 在核心数据中设置布尔值
Objective-C: Set boolean value in core data
在我的数据模型中,在一个实体中,我有一个布尔值属性。在 xcmodeldatad 文件中,它被列为:
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.'
这真的让我感到困惑,我想知道是否有人能发现错误或以前发生过这种情况。
谢谢。
再次检查您的代码。
崩溃日志显示您的对象是 NSString,而不是 YourList 对象,因此,它没有 needsync 属性 => 崩溃。
你的 list
词典是什么类型的?是 NSMutableDictionary<NSString*, NSNumber*>
吗?如果是这样,那么您的 实体属性 和 属性 声明之间的类型可能不匹配.
或者如果您的字典是 NSMutableDictionary<NSNumber*, NSNumber*>
类型,那么试试这个:
[list setObject:@0 forKey:needsync]; // don't make `needsync` a NSString* object, it's already an object type (NSNumber*)
在我的数据模型中,在一个实体中,我有一个布尔值属性。在 xcmodeldatad 文件中,它被列为:
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.'
这真的让我感到困惑,我想知道是否有人能发现错误或以前发生过这种情况。
谢谢。
再次检查您的代码。
崩溃日志显示您的对象是 NSString,而不是 YourList 对象,因此,它没有 needsync 属性 => 崩溃。
你的 list
词典是什么类型的?是 NSMutableDictionary<NSString*, NSNumber*>
吗?如果是这样,那么您的 实体属性 和 属性 声明之间的类型可能不匹配.
或者如果您的字典是 NSMutableDictionary<NSNumber*, NSNumber*>
类型,那么试试这个:
[list setObject:@0 forKey:needsync]; // don't make `needsync` a NSString* object, it's already an object type (NSNumber*)