我试图在 iPhone 应用程序中使用两个不同的核心数据模型,我创建并正确设置了第一个使用 SQLite 作为持久对象存储的核心数据模型。这个效果很好,并且预填充的默认存储在表视图中正确加载。
现在我想使用不同的预填充 SQLite 默认存储创建不同的核心数据模型,以将其加载到同一个 iPhone 应用程序的不同表视图中。我怎样才能完成这项任务?我阅读了 Core Data 文档并下载了示例代码,但我没有找到有关此任务的任何信息。
任何有助于解决此问题的示例代码将不胜感激。
提前谢谢你,码头
我试图在 iPhone 应用程序中使用两个不同的核心数据模型,我创建并正确设置了第一个使用 SQLite 作为持久对象存储的核心数据模型。这个效果很好,并且预填充的默认存储在表视图中正确加载。
现在我想使用不同的预填充 SQLite 默认存储创建不同的核心数据模型,以将其加载到同一个 iPhone 应用程序的不同表视图中。我怎样才能完成这项任务?我阅读了 Core Data 文档并下载了示例代码,但我没有找到有关此任务的任何信息。
任何有助于解决此问题的示例代码将不胜感激。
提前谢谢你,码头
您可以通过两种不同的方式进行操作:
您可以设置一个单独的整个核心数据堆栈,有效地复制您在 AppDelegate 中已有的模板代码。
您可以将第二个 Core Data sqlite 文件添加到现有的核心数据堆栈中。这将允许您访问同一堆栈中的两个实体(不是表,这是一个对象图而不是数据库)。为此,您在方法中添加第二个-addPersistentStore...调用,-persistentStoreCoordinator并确保您的-managedObjectModel方法正在合并包中的模型。
将其设置在您想要的任何地方。您可以在 AppDelegate 中设置它,然后进行依赖注入并将第二个堆栈下推给需要引用它的任何人。
通常我不会在其中创建堆栈,UIViewController因为这不是它的责任。