【问题标题】:Reuse Core Data entities重用核心数据实体
【发布时间】:2014-11-30 05:40:56
【问题描述】:

我注意到我在不同的Core Data 应用程序中一遍又一遍地重新创建许多实体。

有没有办法在不同的数据模型中重用实体?类似于常用实体库的东西。

【问题讨论】:

    标签: cocoa cocoa-touch core-data


    【解决方案1】:

    是的,因为您的NSManagedObjectModel 实例可以由多个模型文件组成。最简单的方法可能是:

    1. 在您的应用项目中创建多个模型文件。一个可以是多个项目中使用的共享实体的集合。
    2. 在运行时,为每个文件创建一个NSManagedObjectModel,使用initWithContentsOfURL:。
    3. 使用 modelByMergingModels: 将步骤 2 中的所有实例合并到一个统一模型中,这将为您提供一个新的 NSManagedObjectModel 实例,其中包含每个模型文件中的所有实体。

    在您的核心数据堆栈中使用第 3 步中的模型。

    还可以使用mergedModelFromBundles: 组合模型,这将查找指定包(应用包或框架包)中的所有现有模型。我更喜欢明确说明我正在加载的模型,但任何一种方法都有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-12
      • 2011-11-06
      • 2011-10-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多