ios - CoreData - 将实体的属性设置为不为空 - 属性应该设置为可选还是强制

标签 ios core-data

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

我已经在 .xcdatamodeld 模式定义中为实体的属性设置了默认值

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

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

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

那么有一个默认值有什么意义呢?谁能帮我解决我在这里真正想念的问题。

最佳答案

将其设置为强制性的并为其配置适当的默认值(例如 0)。如果它是可选的,则无论其他选项如何,都不能保证默认值的设置。

关于ios - CoreData - 将实体的属性设置为不为空 - 属性应该设置为可选还是强制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23549443/

相关文章:

ios - m3u8 文件 AVAssetImageGenerator 错误

iphone - 如何将日期中的年份更改为当前年份?

ios - 快速从核心数据中获取特定的 uiimage

ios - 核心数据删除对象

swift 核心数据 : fetchBatchSize vs fetchOffset

ios - 无法解析 obj c 中的 JSON 文件

ios - SceneKit:在 SCNView 的特定位置查找节点的 native 方法?如果不是,使用字典将位置映射到节点?

ios - Swift 获取可选()包围的文本框值

ios - 是否有 NSPredicate 来过滤具有一对多关系的模型(过滤多个)?

iphone - 在哪里存储核心数据文件?