[英]iPhone - Core Data Bool Values?
我的核心数据中有一个BOOL。 我希望该值为null,除非我将其设置为YES或NO。 是否有可能做到这一点? 在我的代码中,我如何检查是否尚未设置该值?
在我的nsmanagedObject中,我使用NSNumber作为我的BOOL,在我的核心数据mdoel中我有BOOL。
CoreData允许您设置默认值。 Bool可以包含“YES”,“NO”,“None”。 将默认值设置为“None”会使返回值为“null”,这正是我所需要的。
如果在模型中将Boolean设置为属性类型,则意味着它将使用NSNumber
实现。
我不确定为什么你想要不返回任何值而不是NO
,我实际上建议你不要。 如果只设置一个假默认值,那么数据完整性就会轻松得多。
但是,如果你绝对坚持,你可以检查该属性是否nil
,以查看它是否已分配值。
正确的答案是肯定的,使用'是''不'和不同的'无'是有实际意义的,这意味着数据是完整的。 在核心数据中,有时候有理由检查“无”,特别是如果您想调试数据库。 在核心数据中,您可以使用:
[myManagedObject setValue: nil forKey:@"attributeOfMyManagedObject"];
如果在核心数据后面检查SQL数据库,如果使用默认设置,则会看到“NULL”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.