当使用核心数据+表视图与SearchDisplayController结合使用时,fetchedResultsController的谓词将被更改,以便仅获取确认搜索显示中的字符串的结果子集。
当用户键入搜索字符串时,会多次调用函数shouldReloadDisplayForSearchString。一个常见的策略似乎是简单地用一个新的ResultController覆盖当前谓词。 Apple建议在更改搜索谓词时调用deleteCacheWithName。
对我而言,每次删除缓存似乎都有点残酷。这是这种情况的最佳做法吗?是否有其他策略,例如为搜索实例化一个时态fetchedResultsController?
感谢您的帮助!
答案 0 :(得分:1)
我认为,正如你所说,它有点残酷,你最好使用不同的搜索控制器请求。例如,我不对搜索控制器使用获取的结果控制器,而是对数组使用请求。虽然我的提取结果控制器未被修改。