2012-07-02 49 views
0

開始使用配置(因此有多個存儲文件)後,由於缺少新插入對象的持久性存儲文件信息,託管對象上下文保存操作失敗。 assignObject:toPersistentStore:insertNewObjectForEntityForName:inManagedObjectContext:未能分配persitentStore

蘋果指出:

只有必要的,如果接收方的持久存儲協調管理有對象的實體,其配置多寫商店使用此方法。在許多情況下,維護託管對象模型中的配置可以避免直接調用此方法。如果接收方的持久性商店協調員只管理一個可寫入的商店,或者只有一個商店的模型中有對象的實體,則對象將自動分配給該商店。

所以我的理解是,只要給定的實體是只分配給一個配置(一個存儲文件)將被自動分配到正確的商店

如果我檢查協調器的persistentStores,它會列出2個可用的商店。檢查模型entitiesForConfiguration:我可以看到實體已被正確分配給任一配置。

但是,如果我在模型中插入一個對象,通過[[managedObject objectID] persistentStore]尋找持久性存儲,其始終爲nil

我錯過了什麼/某處?


至少可以解決這個問題。我已經將我的網站上的類別(以及解釋)放在每個感覺被考慮的人身上。
A category on NSEntityDescription along with an explanation.

回答

0

聽起來對我來說,就像你有一個永久存儲綁定到默認配置。 我使用類似你的設置,但只綁定一個persitent存儲到自定義配置1,另一個綁定到自定義配置2.因此沒有存儲用於默認配置。

使用此設置,我從來沒有將對象分配給商店的問題。

+0

不,我沒有。你能否詳細說明你的具體配置。我將模型分開,以使存儲文件位於軟件包內的不同位置。一個位於具有自動iCloud備份的文檔文件夾中,另一個位於庫/應用程序支持/從備份排除文件屬性中標記。 –

相關問題