我有一个UISearchDisplayController的UISearchBar部分,用于显示来自本地CoreData和远程API的搜索结果. 我想要实现的是在远程API上"延迟"搜索.目前,对于用户键入的每个字符,都会发送一个请求.但是如果用户打字特别快,发送很多请求就没有意义了:等到他停止打字会有所帮助. 有没有办法做到这一点呢?
阅读这documentation条建议等到用户显式点击搜索,但我觉得这对我来说并不理想.
性能问题.如果搜索操作可以非常有效地进行 快速地,可以随着用户的需要更新搜索结果 通过在控件上实现search bar:textDidChange:方法进行键入 委托对象.但是,如果搜索操作花费的时间较长,则 应等到用户轻触搜索按钮后才开始 在searchBarSearchButtonClicked:方法中搜索.始终执行 搜索操作使用后台线程,避免阻塞主 穿线.这将使您的应用程序在搜索时保持对用户的响应 运行,并提供更好的用户体验.
向API发送大量请求不是本地性能的问题,而只是避免远程服务器上的请求率过高的问题.
谢谢