繁体   English   中英

iPhone - 核心数据Bool值?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM