【发布时间】:2014-11-30 05:40:56
【问题描述】:
我注意到我在不同的Core Data 应用程序中一遍又一遍地重新创建许多实体。
有没有办法在不同的数据模型中重用实体?类似于常用实体库的东西。
【问题讨论】:
标签: cocoa cocoa-touch core-data
我注意到我在不同的Core Data 应用程序中一遍又一遍地重新创建许多实体。
有没有办法在不同的数据模型中重用实体?类似于常用实体库的东西。
【问题讨论】:
标签: cocoa cocoa-touch core-data
是的,因为您的NSManagedObjectModel 实例可以由多个模型文件组成。最简单的方法可能是:
NSManagedObjectModel,使用initWithContentsOfURL:。modelByMergingModels: 将步骤 2 中的所有实例合并到一个统一模型中,这将为您提供一个新的 NSManagedObjectModel 实例,其中包含每个模型文件中的所有实体。在您的核心数据堆栈中使用第 3 步中的模型。
还可以使用mergedModelFromBundles: 组合模型,这将查找指定包(应用包或框架包)中的所有现有模型。我更喜欢明确说明我正在加载的模型,但任何一种方法都有效。
【讨论】: