[英]Why do I need to remove relationships before deleting an object in core data?
我有一個程序,其中使用CoreData來管理永久和臨時數據。
在一個實例中,當用戶按下“取消”時,我通過刪除對象來中止某些數據的添加。 但是,當我單擊下一個視圖時,數據仍然存在,並附加到其父核心數據對象。
[self.bar removeFoosObject:self.foo];//Why do I need this line?
[self.foo.managedObjectContext deleteObject:self.foo];
我最終通過手動從子對象的父對象中刪除子對象來解決了這個問題-但這不是核心數據自動處理的嗎? 為什么我需要第一行?
我運行了一些測試代碼,並且Foo肯定被刪除了-它被弄亂的代碼讓我檢查了,它的MOC設置為nil。 內存存在,但它應該非常非常死了...
您必須手動執行此操作,因為刪除規則設置錯誤。 檢查以下Apple文檔中的“關系刪除規則”。
或者也可能是父對象和子對象之間的關系未設置為可選。
而且,在刪除對象之后,還應該保存數據庫以使其同步。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.