一个托管对象上下文的两个持久存储 - 可能吗?

rui*_*eco 5 cocoa core-data objective-c nsmanagedobjectcontext

我有一个相当复杂的数据模型,大约有10个实体.有些需要存储到磁盘,而其他只需要在应用程序运行时在内存中可用.是否可以使用两个持久存储来实现相同的托管对象上下文,或者我应该相应地分离我的数据模型?

Jon*_*nah 4

是的,您的 NSManagedObjectContext 使用 NSPersistentStoreCoordinator 来确定特定模型应使用哪个存储。通过设置托管对象上下文的持久性存储协调器,您可以定义使用多个不同类型的持久性存储的自定义映射。

http://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/CoreData/Articles/cdBasics.html#//apple_ref/doc/uid/TP40001650-SW4

  • +1 要扩展,您可以使用配置并将需要存储在磁盘中的实体放入一种配置中,将内存中的实体放入另一种配置中。创建商店时,将适当的配置分配给适当的商店。请注意,您不能使用跨商店的直接关系,而必须依赖获取的关系。 (5认同)