实现四种委托方法有什么好处:
-
(void)controllerWillChangeContent:(NSFetchedResultsController *)控制器
-
(void)controller:(NSFetchedResultsController *)controller didChangeSection:(id)sectionInfo atIndex:(NSUInteger)sectionIndex forChangeType:(NSFetchedResultsChangeType)type
-
(void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject atIndexPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)type newIndexPath:(NSIndexPath *)newIndexPath
-
(void)controllerDidChangeContent:(NSFetchedResultsController *)控制器
而不是实施:
- (void)controllerDidChangeContent:(NSFetchedResultsController *)控制器
任何帮助赞赏// :)
1 回答
当您将FetchedResultsController与表视图一起使用时,您可以实现这四个委托方法,以响应对获取的结果所做的每个更改,并在表中发生更改时设置动画 . 但是,正如NSFetchedResultsControllerDelegate documentation所述:
因此,如果您正在进行一系列更改,您可以实现controllerDidChangeContent并使用
[self.tableView reloadData]
之类的内容立即响应所有这些更改 .