如何在iOS UISearchBar中限制搜索(基于键入速度)?
我有UISearchDisplayController的UISearchBar部分,该部分用于显示来自本地CoreData和远程API的搜索结果。我要实现的是在远程API上进行搜索的“延迟”。当前,对于用户键入的每个字符,都会发送一个请求。但是,如果用户输入速度特别快,那么发送许多请求就没有意义了:等到他停止输入后,这才有帮助。有办法实现吗? 阅读文档建议您等到用户明确点击搜索后,但就我而言,它并不理想。 性能问题。如果可以非常快速地执行搜索操作,则可以通过在委托对象上实现searchBar:textDidChange:方法来更新用户输入时的搜索结果。但是,如果搜索操作花费更多时间,则应等到用户点按“搜索”按钮,然后才能在searchBarSearchButtonClicked:方法中开始搜索。始终在后台线程中执行搜索操作,以避免阻塞主线程。这样可以在搜索运行时使您的应用对用户保持响应,并提供更好的用户体验。 向API发送许多请求不是本地性能的问题,而仅仅是避免远程服务器上的请求率过高。 谢谢