CoreData - 多个持久存储

CoreData - multiple persistent stores

我需要一些帮助来理解 CoreData。

假设我安装了 MagicalRecords 和 RestKit,并且我还有一个服务器,可以 return 我一些 posts。然后我需要将其中一些 posts 保存到设备内存中,以便用户稍后可以阅读 post(即使没有互联网连接)。为了不浪费内存,很明显我应该使用内存存储,我也这样做了。但是为了保存 posts 我肯定想要 SQLite 什么的,这让我真的很无奈。

问题是,Apple 并没有提供太多关于如何处理这种情况的信息,到目前为止谷歌搜索也没有帮助。我猜我必须制作两个持久存储和两个配置:默认配置和 "saving" 配置。我找到了一种制作两个持久存储的方法,但现在我只是不明白如何使用它:how to create and save enteties in exact store I want, how to transfer他们 between 商店,这将如何与 RK 和 MR 互动?
任何帮助都将得到回报。链接、信息、代码片段

一般来说,

如果您在不同的持久存储中使用不同的实体,

使用不同的命名配置设置您的数据模型。每个配置都定义了模型的一个子集,其中包含一个或多个实体。您在模型编辑器中执行此操作。当您通过调用 addPersistentStoreWithType:configuration:URL:options:error: 添加持久存储时,为第二个参数提供配置名称。任何时候您插入一个新实例,它都会根据配置转到正确的持久存储。

如果您在多个持久存储中使用同一个实体,

不要为配置而烦恼。相反,在插入新实例后,使用 NSManagedObjectContext 的方法 assignObject:toPersistentStore: 告诉它要使用哪个持久存储文件。

在商店之间移动实例时,

一切由你决定。没有直接的框架支持。您不能使用 assignObject:toPersistentStore: 将实例重新分配给不同的存储文件。您将不得不在不同的商店中创建一个新实例并自己复制所有属性值和关系。

我不知道 MagicalRecord 或 RestKit 如何支持这个,或者他们是否支持。