【问题标题】:Using two different Core Data Models in the same iPhone app. How can I do it?在同一个 iPhone 应用程序中使用两个不同的核心数据模型。我该怎么做?
【发布时间】:2010-07-06 15:28:49
【问题描述】:

我试图在 iPhone 应用程序中使用两个不同的核心数据模型,我创建并正确设置了第一个使用 SQLite 作为持久对象存储的核心数据模型。这个效果很好,并且预填充的默认存储在表格视图中正确加载。

现在我想使用不同的预填充 SQLite 默认存储创建不同的核心数据模型,以将其加载到同一个 iPhone 应用程序的不同表视图中。 我怎样才能完成这项任务?我阅读了 Core Data 文档并下载了示例代码,但没有找到任何关于此任务的信息。

任何对解决此问题有用的示例代码将不胜感激。

提前谢谢你, 码头

【问题讨论】:

    标签: iphone core-data data-storage


    【解决方案1】:

    您可以通过两种不同的方式进行操作:

    • 您可以设置一个单独的整个核心数据堆栈,实际上只需复制您在 AppDelegate 中已有的模板代码。

    • 您可以将第二个 Core Data sqlite 文件添加到现有的核心数据堆栈中。这将允许您访问同一堆栈中的两个实体(不是表,这是一个对象图而不是数据库)。为此,您在 -persistentStoreCoordinator 方法中添加第二个 -addPersistentStore... 调用,并确保您的 -managedObjectModel 方法正在合并您的包中的模型。

    更新

    在您想要的任何地方进行设置。您可以在 AppDelegate 中设置它,然后进行依赖注入并将第二个堆栈下推给需要引用它的任何人。

    通常我会UIViewController 中创建堆栈,因为这不是它的责任。

    【讨论】:

    • 非常感谢,但我不明白在哪里设置单独的整个核心数据堆栈,使用我的 AppDelegate 中的模板代码?也许在我想加载第二个核心数据堆栈的数据的表视图控制器中?
    猜你喜欢
    • 2010-12-28
    • 1970-01-01
    • 2012-12-02
    • 1970-01-01
    • 2021-03-10
    • 2016-06-25
    • 1970-01-01
    • 2011-12-30
    • 2011-05-30
    相关资源
    最近更新 更多