在同一iPhone应用中使用两个不同的核心数据模型。我该怎么做?
-
02-10-2019 - |
题
我正在尝试在iPhone应用程序中使用两个不同的核心数据模型,我创建并正确设置了第一个使用SQLite作为持久对象存储的核心数据模型。这个效果很好,预先填充的默认存储在表视图中正确加载。
现在,我想使用不同的预先填充的SQLITE默认存储器创建一个不同的核心数据模型,以将其加载到同一iPhone应用程序中的其他表视图中。我该如何完成这项任务?我阅读了核心数据文档并下载了示例代码,但我没有找到有关此任务的任何内容。
任何可用于解决此问题的示例代码将不胜感激。
提前谢谢你,码头
解决方案
您可以两种不同的方法:
您可以设置一个单独的整个核心数据堆栈,实际上只需复制AppDelegate中已经拥有的模板代码即可。
您可以将第二个核心数据sqlite文件添加到现有的核心数据堆栈中。这将使您在同一堆栈中访问两个实体(不是表格,这是对象图不是数据库)。为此,您添加了第二个
-addPersistentStore...
打电话给你-persistentStoreCoordinator
方法并确保您的-managedObjectModel
方法是在捆绑包中合并模型。
更新
将其设置为您想要的任何地方。您可以在AppDelegate中进行设置,然后进行依赖注入,然后将第二个堆栈推向需要参考的任何人。
通常我会的 不是 在 UIViewController
因为这不是其责任。
不隶属于 StackOverflow