我什么时候应该使用deleteCacheWithName和fetchedResultsController?

时间:2012-02-08 12:39:26

标签: ios uitableview caching core-data nsfetchedresultscontroller

当使用核心数据+表视图与SearchDisplayController结合使用时,fetchedResultsController的谓词将被更改,以便仅获取确认搜索显示中的字符串的结果子集。

当用户键入搜索字符串时,会多次调用函数shouldReloadDisplayForSearchString。一个常见的策略似乎是简单地用一个新的ResultController覆盖当前谓词。 Apple建议在更改搜索谓词时调用deleteCacheWithName。

对我而言,每次删除缓存似乎都有点残酷。这是这种情况的最佳做法吗?是否有其他策略,例如为搜索实例化一个时态fetchedResultsController?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我认为,正如你所说,它有点残酷,你最好使用不同的搜索控制器请求。例如,我不对搜索控制器使用获取的结果控制器,而是对数组使用请求。虽然我的提取结果控制器未被修改。