CoreData中Transient Attributes上下文中的可选语义

时间:2017-04-21 02:46:20

标签: swift core-data optional transient

如果核心数据中的瞬态属性设置为可选或非可选,则会有什么不同。

通常,当您将实体设置为可选时,它允许拥有该属性的实体与该属性设置为null。但是在瞬态属性的情况下,它们实际上并未存储。那么将瞬态属性设置为可选做什么呢?

如果使用可选的非瞬态属性计算瞬态属性,是否需要将其设置为可选属性?

感谢任何见解。

1 个答案:

答案 0 :(得分:1)

如果我没有将transient属性设置为optional,我会收到以下错误: Core Data Save Error (NSValidationErrorKey, Cocoa error 1570)根据以下How to draw a line between two points over an image in swift 3?,当您尝试将非可选属性设置为Null的实体存储时,会出现错误。

如果我将属性设置为可选,则不会发生此错误。因此,似乎您需要将瞬态属性设置为可选,以便让核心数据知道您不需要/想要存储瞬态属性的值