0

是否有任何更好的方法來更改另一個版本的NSManagedObject的父實體?
比方說對模型1.1版我:在另一個版本中更改NSManagedObject父實體

  • anObject - 沒有父實體
在1.2版本我希望把它從

  • 對象繼承

    - 版本1.1中已存在且包含屬性「objectID」的父類

當我改變它的父實體應用程序崩潰與:

終止應用程序由於未捕獲的異常「NSInternalInconsistencyException」,理由是:「無法創建管理對象上下文:持久性存儲協調沒有任何持久性存儲。這可能意味着您忘記添加持久存儲或者您嘗試這樣做失敗並出現錯誤。'

this answer建議在新版本中創建具有不同名稱的新實體,並刪除舊的實體。
我的問題是,如果有這樣一個問題的「更清潔」的解決方案?
如何添加一個映射模型到項目/當前模型?

回答

1

確定的解決方案是非常簡單的,
您在模型中需要改變(改變「anObject」父實體)
然後,所有你需要做的就是添加一個新的映射模型,選擇「新建文件「 - >‘核心數據’ - >‘映射模型’

Add a new mapping model

確保你添加新的映射模型前在模型中的變化!
然後選擇源數據模型(在本例中爲版本1.1)和目標數據模型(1.2),並創建新的映射模型。
對我來說,這很簡單,甚至不需要在新的映射模型中進行任何更改。如果有人對使用地圖模型的優缺點有任何評論,我是否喜歡這裏。

相關問題