在开始使用配置(因此有多个存储文件)后,托管对象上下文保存操作由于缺少新插入对象的持久存储文件信息而失败。
苹果在以下声明assignObject:toPersistentStore:
:
仅当接收者的持久存储协调器管理多个在其配置中具有对象实体的可写存储时,才需要使用此方法。在托管对象模型中维护配置可以消除在许多情况下直接调用此方法的需要。如果接收者的持久存储协调器只管理一个可写存储,或者如果只有一个存储在其模型中具有对象的实体,则对象将自动分配给该存储。
所以我明白,只要给定的实体只分配给一个配置(一个商店文件),它就会自动分配给正确的商店。
如果我检查协调器的持久存储,它会列出 2 个可用存储。检查模型entitiesForConfiguration:
我可以看到实体已正确分配给任一配置。
但是,如果我将一个对象插入到模型中,通过[[managedObject objectID] persistentStore]
它的 always寻找持久存储nil
?
我错过了什么/某处吗?
至少这个问题可以解决。我已经在我的网站上为所有觉得被考虑的人提供了类别(和解释)。
NSEntityDescription 上的一个类别以及一个解释。