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

标签 objective-c ios core-data

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

相关文章:

ios - 将 UIImageView 添加到自定义 UIButton 类

objective-c - bundle 中无法识别 xcode ios 文件

ios - XCode:从核心数据图中排除抽象实体

ios - 启用分页的 UICollectionView 中心单元格

iphone - 在不使用 Core Plot 库的情况下绘制折线图

ios - UICollectionView - 如果选择了单元格,则不调用 didDeselectItemAtIndexPath

ios - CoreData - 删除托管对象内的对象

ios - iPhone 崩溃时删除的核心数据对象

IOS/objective-C ;在 if else 逻辑中使用 Return 语句结束方法

ios - TableView 不显示来自 parse.com 的数据