簡體   English   中英

NSFetchedResultsController和NSOperation

[英]NSFetchedResultsController and NSOperation

UITableViewController ,我使用NSFetchedResultsController作為我的數據。 一切工作正常,除非我開始導入一個單獨的線程某些對象為:我使用一個NSOperationQueue我在其中插入異物我ManagedObjectContext 這在單獨的視圖中發生。 NSFetchedResultsController似乎不喜歡這樣並寫入控制台:

嚴重的應用錯誤。 在調用-controllerDidChangeContent:期間,從NSFetchedResultsController的委托中捕獲到異常。 嘗試使用userInfo(null)為單元格創建兩個動畫

顯然它試圖獲取新對象。

關於並發性主題,“ 核心數據編程指南”說的是為每個線程使用ManagedObjectContext ,但聽起來相當復雜。

我現在不知道我是否真的應該創建自己NSOperation子類,創建一個ManagedObjectContext在里面等,還是可以防止NSFetchedResultsController從更新了一段時間?

Fabian,我很感激一些幫助

你需要每個線程一個NSManagedObjectContext ,對不起!

不只是NSFetchesResultsController將訪問您的上下文 - coreData將不會獲取某些數據,直到您的上下文需要在任何時候訪問。

但是,它只是您需要在每個線程的基礎上創建的上下文。 只需在您的委托上編寫一個方法來創建一個托管對象上下文並在每個NSOperations中調用它 - 這將使每個線程而不是全部使用相同的線程。

您也可以使用此方法創建主線程上的托管上下文。

暫無
暫無

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

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