使用NSFetchedResultsController
委托方法控制器
(_:didChange: at:for:newIndexPath:)
之间的tableView.beginUpdates()
与controllerWillChangeContent(_:)
中的tableView.endUpdates()
之间的controllerDidChangeContent(_:)
会产生具有零属性的对象(包括uniqueIdentifier,通常在{{1}中设置在合并来自不同设备的更改以及相关崩溃时创建。当仅实现awakeFromInsert())
委托controllerDidChangeContent(_:)
委托方法时,问题不会发生。
有关如何消除此问题的任何建议将不胜感激。
答案 0 :(得分:0)
在beginUpdates()之前在controllerWillChangeContent(_ :)中添加tableView.reloadData()似乎可以解决问题。它确保在通过FRC委托方法修改tableView之前,tableView中的数据与fetchedResultsController(FRC)中的数据同步。