【发布时间】:2014-09-09 14:33:18
【问题描述】:
我需要将我的 Core Data 持久存储(由 RestKit 管理)拆分为两部分。一部分应该只保留在内存中而不是保存到磁盘,另一部分应该保存。通常它是通过向 Core Data 对象模型添加配置并为每个配置创建两个存储来完成的。但是RestKit的RKManagedObjectStore方法——(NSPersistentStore )addInMemoryPersistentStore:(NSError *)error;不采用配置名称并使用配置 nil 添加持久存储:
- (NSPersistentStore *)addInMemoryPersistentStore:(NSError **)error
{
if (! self.persistentStoreCoordinator) [self createPersistentStoreCoordinator];
return [self.persistentStoreCoordinator addPersistentStoreWithType:NSInMemoryStoreType configuration:nil URL:nil options:nil error:error];
}
根据 Core Data 文档,这可以防止在持久存储协调器中使用任何配置。 我可以重新加载此方法并使其使用配置,但首先我想问: 我有什么理由不这样做吗? addInMemoryPersistentStore 看起来像这样肯定是有原因的。可能有人尝试过与我将要做的相同的事情,但发现它不起作用?
【问题讨论】: