我想得到一些建議,使我的項目中的核心數據操作併發。我的項目自兩年以來一直運行,因此它有許多實現可以根據objectiveC
中新功能的可用性進行優化。主要是,我正在尋找優化CoreData
操作。核心數據併發性
目前大部分的數據操作都是使用主管理對象上下文完成的。最近,我實現了一項新功能,可以在登錄後使用核心數據下載大量數據並插入數據庫。這應該與應用程序中的其他操作並行執行。現在我意識到爲核心數據編寫的代碼正在主線程中執行,因爲應用程序的UI在coredata
操作期間被阻塞。因此,我提到了許多博客,並且知道有兩種策略可以實現核心數據併發性,即藉助多個上下文和父/子託管對象上下文進行通知。
我試過父母/孩子的策略,因爲蘋果不喜歡其他策略。但我在executeFetchRequest
上遇到了隨機崩潰,例外情況是「Collection在枚舉時發生了變化」。在實施父/子策略之後,這種異常開始發生。任何人都可以幫我解決這個問題嗎?