2017-10-21 43 views
0

使用NSFetchedResultsController委託方法控制器 (_:didChange: at:for:newIndexPath:)tableView.beginUpdates()controllerWillChangeContent(_:)和之間在controllerDidChangeContent(_:)tableView.endUpdates(),導致具有零特性(包括唯一標識符,其通常在awakeFromInsert())設定合併時被創建的對象從不同的設備,以及相關的崩潰變化。當僅執行,而不是用tableView.reloadData()controllerDidChangeContent(_:)委託方法不會發生此問題。合奏2 NSFetchedResultsControllerDelegate的tableView更新方法引起崩潰

如何解決這個問題,將不勝感激任何意見。

回答

0

在beginUpdates()之前在controllerWillChangeContent(_ :)中添加tableView.reloadData()似乎可以解決問題。它確保在tableView被FRC委託方法修改之前,tableView中的數據與fetchedResultsController(FRC)中的數據同步。