簡體   English   中英

CoreData prepareForDeletion被稱為無限次

[英]CoreData prepareForDeletion Called Infinite Times

我的應用程序維護兩個NSManagedObjectContexts。 一個在主線程上運行,另一個在網絡線程上運行,並在后台線程上運行。

每當收到網絡事件時:

  1. 主要MOC進行保存
  2. 后台線程合並更改
  3. 處理網絡事件並將更改應用到后台MOC
  4. 后台MOC保存。
  5. 主MOC合並更改。

在我嘗試刪除主線程中的NSManagedObject之前,此方法工作正常:

一種。 步驟2之后,prepareForDeletion在后台線程上再次被調用

b。 在步驟#5之后在主線程上調用prepareForDeletion

更糟糕的是,MOC每次都保存/合並可憎的內容a。 和b。 抬起丑陋的頭。

據我所知,NSManagedObject正在被復活,然后被一遍又一遍刪除。

我正在為這個問題扯頭發。 我花了最后一周來爭取讓多個MOC都運行。 我不知道這么簡單的事情會引起如此多的悲傷。

勞倫語

我的建議是不要保持后台MOC。 而是在開始后台處理時始終創建它。 這樣,它始終與持久性存儲處於相同狀態。 (行緩存是您的朋友。不必擔心后台MOC的狀態。)

安德魯

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM