7
將iOS 6.0.1上的Core Data託管對象上下文保存到SQLite存儲時,遇到了奇怪的「CoreData不支持持久交叉存儲關係「例外。它涉及模型中引號和AbstractSources之間的一對一關係。在運行時,它涉及報價和預訂儘管與x-coredata ID匹配,「CoreData不支持持續的跨商店關係」
我研究類似的報告,涵蓋了報道的原因(如圖書從AbstractSource繼承一切運作良好的模型編輯器。):
- 我分配使用assignObject:toPersistentStore:來存儲同一個持續的 商店,因此,兩個都不會保留 未分配。
- 錯誤描述表明,所有的 「絕對」 X-coredata IDS開始 具有相同前綴(如 「X-coredata:// 82B3BEB3-60F2-4912-AC80-11AAD29CFF99 /」,所以 似乎真的是一個商店只在使用
我的問題是:。
- 還有什麼事我得查(也許SG相對於 AbstractSource,我不觸摸/控制我的來源?我是 創建報價和書籍機智h呼叫 initWithEntity:insertIntoManagedObjectContext)
- 我注意到錯誤描述還包括幾個 「相對」x-coredata ID(形式爲「x-coredata:/// ...」)。可能 它是絕對形式始終被視爲 「跨數據庫」,即使「絕對」前綴(請參見上面的示例)是相同的嗎? 如果是這樣,我怎麼能影響「絕對」和 「相對」x-coredata ID之間的任何選擇?
Thx(much)for your attention!
+1是一個很好寫的問題。 –
x-coredata:// 82B3BEB3-60F2-4912-AC80-11AAD29CFF99/=尚未保存的對象的臨時標識 –
@ Daij-Djan thx(Danke)的澄清。我仍然認爲id(82B3BEB3-60F2-4912-AC80-11AAD29CFF99)指出在保存時將使用哪個持久存儲,Quote和Bock的ID都相同。 – Drux