【问题标题】:Semantics of optional in the context of Transient Attributes in CoreDataCoreData 中瞬态属性上下文中可选的语义
【发布时间】:2017-04-21 02:46:20
【问题描述】:

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

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

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

感谢任何见解。

【问题讨论】:

    标签: swift core-data optional transient


    【解决方案1】:

    如果我没有将瞬态属性设置为可选,我会收到以下错误: Core Data Save Error (NSValidationErrorKey, Cocoa error 1570) 根据以下 SO Q/A 是您尝试存储非可选属性设置为 Null 的实体时遇到的错误。

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

    【讨论】:

    • 实际上,属性检查器不应允许复选框来选择瞬态属性的可选性,因为它是可选的或非可选的没有任何意义。您在 Apple 文档中找到解释了吗?
    猜你喜欢
    • 1970-01-01
    • 2011-11-23
    • 2014-11-15
    • 1970-01-01
    • 1970-01-01
    • 2012-02-25
    • 2011-07-20
    • 2023-03-19
    • 1970-01-01
    相关资源
    最近更新 更多