jjzjj

objective-c - NSFetchedResultsController - 从部分中删除所有行后崩溃

coder 2024-01-27 原文

我将 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/

有关objective-c - NSFetchedResultsController - 从部分中删除所有行后崩溃的更多相关文章

随机推荐