在NSPredicate更改后使用NSFetchedResultsControllerDelegate更新TableView节和行

P5y*_*cH0 5 iphone nspredicate nsfetchedresultscontroller uisearchbardelegate

有没有办法在更改fetchedResultsControllers NSpredicate(并执行提取)后更新UITableView节和行?我想在我的searchBar中的searchText发生更改时使用controllerWillChangeContent委托方法来更新我的表.

目前在我的应用程序中,只有在coredata发生更改时才会调用这些委托方法.不是在更改resultsController谓词和执行提取时.

如果我只是调用[ self.tableView reloadData]在每个文本更改上,没有动画,它会阻止体验.

或者我应该做一些完全不同的事情来更新每个搜索文本条目更改的tableView内容?

P5y*_*cH0 8

我已经对Apple的文档进行了另一次研究,看起来在谓词发生变化时不会调用NSFetchedResultsControllerDelegate方法:

NSFetchedResultsController的一个实例使用此协议中的方法通知其委托,由于添加,删除,移动或更新操作,控制器的获取结果已更改.

因此,回答我自己的问题:在NSFetchedResultsController谓词更改后,无法使用NSFetchedResultsControllerDelegate更新表.