想知道其他人是否遇到过这个问题,或者是否有理由,我在做错事.
我有一个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]来使用它;