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

时间:2011-03-22 23:02:39

标签: objective-c cocoa core-data nsmanagedobjectcontext

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

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:0)

您可以使用TechZen提到的配置:

  1. 在托管对象模型编辑器(.xcdatamodel文件)中创建配置;
  2. 在代码中向持久性存储协调器添加多个持久存储,提供适当的配置名称。
  3. 有关详细信息,请查看我的其他答案here