想知道是否有人遇到过这个问题,或者是否有原因并且我做错了什么。

我有一个带有CoreData的应用程序。在模式中,我有一个“内容”实体,其“解锁”属性设置为 bool 值。

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

@property (nonatomic, retain) NSNumber * unlocked;

如果在content.h中将其更改为Boolean,则会收到ARC编译错误。但是,如果我在尝试获取它时将其保留为NSNumber对象,则它返回的不一致(例如,如果我有一个NSLog打印它,则每次运行时它都会以不同的值返回)。

我可以找出一个相当明显的解决方法,将解锁的NSString设置为"is"或“否”,并在相关时点进行比较,但是我想知道是否有人知道为什么会这样或者是否有办法将其保留为 bool 值。

提前致谢。

最佳答案

CoreData存储对象,而BOOL不是。
[NSNumber numberWithBool:YES]
是设置属性的方法,您可以通过阅读mybool = [content.unlocked boolValue];来使用它。

关于ios - 具有 bool 属性的CoreData实体另存为NSNumber对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16797727/

10-13 03:43