我将 UITableView 与 NSFetchedResultsController 一起使用。 NSFetchedResultsControllerDelegate 的所有方法的实现与 Apple 的文档类似。但是从数据库中删除所有部分的行后,我收到“无效更新”异常。
委托(delegate)按以下顺序处理此操作:
- 首先执行controller:didChangeSection:方法,移除空的section。
- 然后执行 controller:didChangeObject: 方法,该方法尝试从已删除的部分中删除行。它会导致异常。
我做错了什么以及如何处理这种情况? 谢谢。
最佳答案
我遇到了同样的问题。但是,如果您通过添加“分组”所有更改:
- (void)controllerWillChangeContent:(NSFetchedResultsController *)controller {
[self.tableView beginUpdates];
}
- (void)controllerDidChangeContent:(NSFetchedResultsController *)controller {
[self.tableView endUpdates];
}
它应该工作得很好。
关于objective-c - NSFetchedResultsController - 从部分中删除所有行后崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11890316/