我的iOS應用程序從第三方數據庫下載記錄,並使用CoreData在本地存儲它們。用戶可以編輯存儲的記錄的某些方面,例如可以添加用戶註釋以及來自數據庫的註釋。核心數據:以編程方式更改刪除規則
偶爾會更新數據庫,並提供刷新功能。而不是檢查條目的哪些部分是不同的,我只是蠻力刪除舊的,並用新的替換它。
但是,這也會刪除用戶註釋。我嘗試在刷新前保存它們,並在插入新條目後重新添加它們,但是一旦原始條目被刪除,由於「級聯」刪除規則,用戶註釋也會被刪除。如果我將刪除規則設置爲「無操作」,則所有筆記都不會被刪除。
所以我在想,是否可以在更新時臨時更改用戶備註的刪除規則,以便它不會被舊條目刪除?
或者也許我的方法是完全錯誤的,有更好的方法來處理這個問題?
更新:我已經在這裏創造一個跟進的問題:Change relationship of NSManagedObject to different context
那麼爲什麼不更新或獲取要刪除的項目,只刪除它們? – Wain
我仍在考慮正確的方法。我仍然不明白的是,當我將用戶筆記的關係從舊條目更改爲新條目,然後刪除舊條目時,用戶筆記也不見了。當我輸入此內容(遠離我的Mac)時,大聲思考,我可能需要在更改關係後保存上下文,然後刪除舊條目,然後再保存。 – Koen