我正在開發一個具有Core Data的應用程序,該應用程序會定期從Web服務下載所有數據。由於下載可能失敗或被用戶取消,我希望能夠回滾到之前的狀態。我試圖撤消NSManagedObjectContext
,但這似乎有點慢(我有成千上萬的實體)。我現在正在做的是對持久存儲文件進行備份,下載數據,如果下載失敗,則用備份替換存儲文件。這似乎工作正常,除了我可以從商店獲取實體後似乎有延遲:如果在下載後,我立即去UITableView
,使用NSFetchedResultsController
,我覺得它是空的。如果我等幾秒鐘,一切都好。切換NSPersistentStore文件時的核心數據延遲
所以我的問題是:有沒有人有過這種延誤呢?有沒有什麼辦法可以避免這個問題,即使它阻塞了線程,也會強制一切準備就緒。
問題是,點擊「取消」按鈕後,恢復需要一段時間才能被調用,這就是爲什麼實體沒有被顯示。 –