ios - 将 NSManagedObject 变成部分错误,其中某些字段为零,有些字段不是

标签 ios core-data nsmanagedobject

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

A managed object fault is an instance of the appropriate class, but its persistent variables are not yet initialized.

有什么办法可以部分意识到错误吗?例如。我有一个包含 10 个字段的对象,我想要一个仅实现两个字段的部分对象,而整个对象仍然是一个错误(因此所有其他字段仍然为零)。我在这里讨论的不是 NSFetchRequestpropertiesToFetch,而是所谓的部分错误。 因为目前当故障被触发时,所有属性都被实现。以下是文档中的引用:

If you access a property on the Department object — its name, for example — the fault fires and Core Data executes a fetch for you to retrieve all of the object's attributes

如何自定义故障实现?

最佳答案

我不相信有办法做到这一点。当核心数据加载托管对象时,它会加载所有内容。您可以在 NSMangedObject 的接口(interface)中看到它有一个属性 isFault,该属性要么为 true,要么为 false。

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

关于ios - 将 NSManagedObject 变成部分错误,其中某些字段为零,有些字段不是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44155786/

相关文章:

ios - 终止的应用程序只会重新启动一次

iphone - 为什么在 Objective-C 上保留属性可能不保留?

ios - 在 View Controller 之间传递 NS Core Data 上下文引用

iphone - 如何在应用程序退出时正确删除 "temporary"NSManagedObject

ios - 即使在黑暗模式下,平台亮度在 iOS 上仍然很亮 - Flutter

ios - 从多个位置更新 UI 状态

ios - RESKit : Duplicate objects are created

swift - 删除核心数据条目不起作用

ios - 为什么 Core Data 并发调试工具会导致我的 iOS 应用程序崩溃?

ios - 添加 NSManagedObject 子类时出现重复符号错误,链接重复