使用NSFetchedResultsControllerDelegate的集合2使用导致崩溃的更新方法

时间:2017-10-21 16:12:44

标签: ios uitableview ensembles

使用NSFetchedResultsController委托方法控制器 (_:didChange: at:for:newIndexPath:)之间的tableView.beginUpdates()controllerWillChangeContent(_:)中的tableView.endUpdates()之间的controllerDidChangeContent(_:)会产生具有零属性的对象(包括uniqueIdentifier,通常在{{1}中设置在合并来自不同设备的更改以及相关崩溃时创建。当仅实现awakeFromInsert())委托controllerDidChangeContent(_:)委托方法时,问题不会发生。

有关如何消除此问题的任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

在beginUpdates()之前在controllerWillChangeContent(_ :)中添加tableView.reloadData()似乎可以解决问题。它确保在通过FRC委托方法修改tableView之前,tableView中的数据与fetchedResultsController(FRC)中的数据同步。