Introduction
我的iOS项目附带了一个核心数据持久存储,重量约为160MB,采用SQLite格式.其中有大量分组信息,用户应该能够在其中标记Collection 夹.为此,我需要(至少部分)数据库具有写功能.但当然,应用程序包中提供的持久存储在设计上是只读的.
如果您希望store 具有读写功能,则应将其复制到应用程序的文档文件夹中.我不想这样做,因为这样应用程序的大小将是原来的两倍,而数据库的主要部分无论如何都是只读的.那会浪费资源.
Multiple persistent stores for NSPersistentStoreCoordinator
这就是为什么我想到使用两个持久存储.第一个可能是Bundle 包中的大实体,第二个可能是文档文件夹中的小实体,存储与大store 有关系的特殊"Collection "实体.
我知道在这方面是可能的,但我找不到具体细节.如果还具有多个对象模型,是否应该只使用多个存储?一个对象模型可以"分布"在两个持久存储上吗?当浏览Core Data Programming docs时,我找不到任何关于如何设置的真正参考.此外,马库斯·扎拉的书似乎没有深入探讨这个话题:
可以向NSPersistentStore Coordinator添加多个NSPersistentStore,这在处理拆分为多个文件的数据时非常有用.然而,我们的考试只有一个文件.(Marcus Zarra: "Core Data - Apple's API for Persisting Data on Mac OS X" page 71)
The Question
谁能告诉我,核心数据和多个持久性存储是否可能实现我的 idea ?你能不能提供一个关于如何实现这一点的提示?我们也非常感谢与该主题相关的线上/线下资源.