CoreData - 将实体的属性设置为非空 - 属性应设置为 Optional 还是 Mandatory

jai*_*kar 4 core-data ios

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

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

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

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

编辑:当我将属性设置为强制并且如果尝试设置的值为 nil 时,插入失败,错误代码为 1570 - NSValidationMissingMandatoryPropertyError,我只是希望该属性被设置为默认值并被插入。

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

Mun*_*ndi 6

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