0

在开始使用配置(因此有多个存储文件)后,托管对象上下文保存操作由于缺少新插入对象的持久存储文件信息而失败。

苹果在以下声明assignObject:toPersistentStore:

仅当接收者的持久存储协调器管理多个在其配置中具有对象实体的可写存储时,才需要使用此方法。在托管对象模型中维护配置可以消除在许多情况下直接调用此方法的需要。如果接收者的持久存储协调器只管理一个可写存储,或者如果只有一个存储在其模型中具有对象的实体,则对象将自动分配给该存储。

所以我明白,只要给定的实体分配给一个配置(一个商店文件),它就会自动分配给正确的商店。

如果我检查协调器的持久存储,它会列出 2 个可用存储。检查模型entitiesForConfiguration:我可以看到实体已正确分配给任一配置。

但是,如果我将一个对象插入到模型中,通过[[managedObject objectID] persistentStore]它的 always寻找持久存储nil

我错过了什么/某处吗?


至少这个问题可以解决。我已经在我的网站上为所有觉得被考虑的人提供了类别(和解释)。
NSEntityDescription 上的一个类别以及一个解释。

4

1 回答 1

0

在我看来,您有一个绑定到默认配置的持久存储。我使用像您这样的设置,但只将一个持久存储绑定到自定义配置 1,另一个绑定到自定义配置 2。因此默认配置没有存储。

通过这种设置,我从来没有遇到过没有将对象分配给商店的问题。

于 2012-07-31T18:34:04.540 回答