Core Data如何选择持久存储来保存/获取数据?

时间:2014-04-22 13:56:13

标签: cocoa core-data

假设我有managed object context persistent store coordinator有两个(或更多)persistent stores

在执行获取请求或保存上下文时,Core Data将使用哪个持久性存储来获取或保存managed objects

1 个答案:

答案 0 :(得分:3)

如果数据模型中有多个配置,并且不同的配置具有不同的实体,则新插入的对象将进入与该对象的实体关联的任何持久性存储。当您致电configuration时,这是addPersistentStoreWithType:configuration:URL:options:error:选项的目的。您告诉持久性存储协调器新持久性存储使用特定配置。因此,持久性存储仅使用配置包含的实体类型。

如果您有多个持久性存储,可以全部保存相同的实体(它们使用相同的配置,或者它们具有针对某些实体重叠的不同配置),那么您可以选择告知托管对象上下文哪个持久性存储为使用。插入对象后,但在保存更改之前,请调用assignObject:toPersistentStore:告诉它要使用哪一个。如果您没有调用该方法,则会定义使用哪个持久性商店,但它可能是您添加的最后一个。