CoreData - 多个持久性存储

Ale*_*hin 5 core-data ios magicalrecord

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

假设我安装了MagicalRecords和RestKit,我也有一台服务器,可以给我一些回报posts.然后我需要将其中一些保存posts到设备内存中,以便用户稍后可以阅读帖子(即使没有互联网连接).为了不浪费内存,显然我应该使用内存存储,我这样做.但是为了保存帖子我定义了SQLite或其他东西,这让我真的很无助.

问题是,Apple没有提供有关如何处理这种情况的大量信息,谷歌搜索到目前为止没有帮助.我猜我必须制作两个持久存储和两个配置:默认和"保存".我找到了一种制作两个持久存储的方法,但现在我只是不明白如何使用它:如何在我想要的精确存储中创建和保存enteties ,如何商店之间传输它们,这将如何与RK交互和MR?
任何帮助都会被贬低.链接,信息,代码片段

Tom*_*ton 11

一般来说,

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

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

如果在多个持久性存储中使用相同的实体,

不要打扰配置.相反,在插入新实例后,使用NSManagedObjectContext's方法assignObject:toPersistentStore:告诉它使用哪个持久性存储文件.

在商店之间移动实例时,

全取决于你.没有直接的框架支持.您无法使用assignObject:toPersistentStore:将实例重新分配给其他商店文件.您必须在另一个商店中创建一个新实例,并自己复制所有属性值和关系.

我不知道MagicalRecord或RestKit如何支持它,或者他们是否支持.