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

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

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

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

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

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

那么拥有默认值有什么意义呢? 任何人都可以帮助我,我真的在这里失踪。

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