CoreData - 将实体的属性设置为非null - 属性是否应设置为Optional或Mandatory

时间:2014-05-08 18:10:01

标签: ios core-data

我需要将Coredata实体中的属性设置为非null并具有默认值。

我在.xcdatamodeld架构定义中为实体的属性设置了默认值

我的问题是该属性是否应标记为可选。

如果我不检查属性中的以下三项中的任何一项会产生什么影响 - Transient,Optional,Indexed?这个属性会被视为强制性的吗?

编辑:当我将属性设置为必需属性时,如果尝试设置的值为nil,则插入失败,错误代码为1570 - NSValidationMissingMandatoryPropertyError,我只希望将属性设置为其默认值并插入。

那么拥有默认值有什么意义呢?任何人都可以帮助我在这里真正缺少的东西。

1 个答案:

答案 0 :(得分:4)

将其设置为必填项,并使用适当的默认值(例如0)对其进行配置。如果是可选项,则无论其他选项如何,都无法保证默认值的设置。