3

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

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

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

提前谢谢你,码头

4

1 回答 1

2

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

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

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

更新

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

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

于 2010-07-06T15:50:42.647 回答