我有一个 UISearchDisplayController 的 UISearchBar 部分,用于显示来自本地 CoreData 和远程 API 的搜索结果。 我想要实现的是在远程 API 上“延迟”搜索。当前,对于用户输入的每个字符,都会发送一个请求。但是如果用户键入得特别快,那么发送许多请求就没有意义了: 等到他停止键入之后再发送请求会有所帮助。 有办法做到吗?
阅读 文件建议等待,直到用户明确点击搜索,但我不认为它在我的情况下理想。
性能问题。如果搜索操作可以非常 快速地,它是可能的更新搜索结果作为用户 类上实现 searchBar: textDidChange: 方法 但是,如果搜索操作需要更多的时间,则 应该等到用户点击 Search 按钮后才开始 在 searchBarSearchButtonClick: 方法中搜索。始终执行 搜索操作的后台线程,以避免阻塞主 这可以让你的应用程序在搜索时对用户做出响应 运行,并提供更好的用户体验。
向 API 发送许多请求并不是本地性能的问题,而只是避免了远程服务器上过高的请求速率。
谢谢