在 Core Data 中加载具有关系的托管对象时的标准行为是啥?
Posted
技术标签:
【中文标题】在 Core Data 中加载具有关系的托管对象时的标准行为是啥?【英文标题】:What is the standard behavior when loading Managed Objects with relations in Core Data?在 Core Data 中加载具有关系的托管对象时的标准行为是什么? 【发布时间】:2013-04-11 23:45:45 【问题描述】:在谈论 Core Data 时,我面临一个常见但简单的问题。在一个简单的 Master-Detail 示例中,一个名为“Category”的实体与一个名为“Products”的实体具有(对多)关系,在获取类别时在加载时会发生什么?
类别是否也会自动加载其相关产品?还是我们仍然需要在 Detail View 中获取它们?
【问题讨论】:
【参考方案1】:我认为您想阅读 Core Data faults。它们为核心数据系统提供了一种方法,可以将您获取的对象(例如类别)返回给您,而无需立即加载所有相关的产品。相反,products
关系将包含 fault - 实际上是在您需要时为您提供真实 Product 实例的承诺。
稍后,当您访问 Category 的 products
关系时,Core Data 将自动透明地加载该关系的内容,而无需您再次运行 fetch。这称为“意识到”或“触发”错误,您无需采取任何额外措施。
【讨论】:
以上是关于在 Core Data 中加载具有关系的托管对象时的标准行为是啥?的主要内容,如果未能解决你的问题,请参考以下文章