【问题标题】:Turn NSManagedObject into a partial fault where some fields are nil and some not将 NSManagedObject 变成部分错误,其中一些字段为 nil,而另一些则不是
【发布时间】:2017-05-24 10:30:14
【问题描述】:

Apple 将故障描述为partially materialised futures,这与多个数据库中使用的术语partially materialised views 非常相似。对我来说,单词部分意味着该对象的某些字段已初始化(已实现)而有些则未初始化。但苹果将故障描述为:

托管对象故障是相应类的实例,但其持久变量尚未初始化。

有没有办法部分实现故障?例如。我有 10 个字段的对象,我想要一个仅实现两个字段的部分对象,而整个对象仍然是错误的(因此所有其他字段仍然为零)。我在这里不是在谈论propertiesToFetchNSFetchRequest,而是在谈论所谓的部分故障。 因为目前当故障被触发时,所有属性都已实现。这是来自文档的引用:

如果您访问 Department 对象的属性(例如其名称),则会触发故障,Core Data 会为您执行获取以检索对象的所有属性

如何自定义故障实现?

【问题讨论】:

    标签: ios core-data nsmanagedobject


    【解决方案1】:

    我不相信有办法做到这一点。当核心数据加载 managedObject 时,它会加载所有内容。您可以在 NSMangedObject 的界面中看到它有一个 isFault 属性,该属性为真或假。

    如果您有一个非常大的属性(例如数据块)并且除非需要,否则不想加载它,那么我建议将其存储为具有关系的单独实体。这样,它只会在您请求属性时加载(故障)。

    【讨论】:

    猜你喜欢
    • 2020-01-12
    • 2013-12-03
    • 2023-01-29
    • 2019-08-03
    • 2021-12-06
    • 2011-01-04
    • 1970-01-01
    • 2018-01-27
    • 1970-01-01
    相关资源
    最近更新 更多