ios – 具有布尔属性的CoreData实体被保存为NSNumber对象

前端之家收集整理的这篇文章主要介绍了ios – 具有布尔属性的CoreData实体被保存为NSNumber对象前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
想知道其他人是否遇到过这个问题,或者是否有理由,我在做错事.

我有一个CoreData的应用程序.在模式中,我有一个“内容”实体,其中“unlocked”属性设置为Boolean.

然而,当我通过Xcode保存实体的Obj C类时,解锁在content.h中显示为:

@property (nonatomic,retain) NSNumber * unlocked;

如果我在content.h中将其更改为Boolean,我会收到一个ARC编译错误.但是,如果我把它作为一个NSNumber对象,当我尝试并抓取它,它回来不一致(如在我有一个NSLog打印它,它作为一个不同的值,每次运行).

我可以找出一个相当明显的解决方案,将NSString解锁为“是”或“否”,并在相关点进行比较,但我想知道是否有人知道为什么会发生这种情况,或者如果有办法保持它作为一个布尔值.

提前致谢.

解决方法

CoreData存储对象,BOOL不是.

[NSNumber numberWithBool:YES]

是设置属性的方式,您可以通过阅读mybool = [content.unlocked boolValue]来使用它;

猜你在找的iOS相关文章