2012-08-09 51 views
2

我正在使用UITableView和NSFetchedResultsController。 NSFetchedResultsControllerDelegate的所有方法的实现都类似于Apple的文档。但是,从数据库中删除所有部分的行后,我收到“无效更新”异常。NSFetchedResultsController - 从部分删除所有行后发生崩溃

委派过程此操作在以下顺序:

  • 首先执行控制器:didChangeSection:方法并删除部,其变空。
  • 然后执行控制器:didChangeObject:方法,该方法尝试从已删除的部分删除行。它导致异常。

我在做什么错,以及如何处理这种情况? 谢谢。

回答

1

我有同样的问题。但是,如果您通过添加“组”所有更改:

- (void)controllerWillChangeContent:(NSFetchedResultsController *)controller { 
    [self.tableView beginUpdates]; 
} 


- (void)controllerDidChangeContent:(NSFetchedResultsController *)controller { 
    [self.tableView endUpdates]; 
} 

它可以工作得很好。

相关问题