У меня есть часть UISearchBar в UISearchDisplayController, которая используется для отображения результатов поиска как из локального CoreData, так и из удаленного API. Я хочу добиться "задержки" поиска по удаленному API. В настоящее время на каждый набранный пользователем символ отправляется запрос. Но если пользователь печатает особенно быстро, нет смысла отправлять много запросов: было бы полезно дождаться, пока он перестанет печатать. Есть ли способ добиться этого?
При чтении документации предлагается подождать, пока пользователи явно не нажмут на поиск, но я не считаю это идеальным в моем случае.
Проблемы с производительностью. Если операции поиска могут выполняться очень быстро, можно обновлять результаты поиска по мере того, как пользователь вводит текст, путем реализации метода searchBar: textDidChange: в объекте делегата. Однако, если операция поиска занимает больше времени, вам следует подождать, пока пользователь не коснется кнопки «Поиск», прежде чем начинать поиск в методе searchBarSearchButtonClicked :. Всегда выполняйте операции поиска в фоновом потоке, чтобы избежать блокировки основного потока. Это позволяет вашему приложению реагировать на запросы пользователя во время выполнения поиска и улучшать взаимодействие с пользователем.
Отправка большого количества запросов к API - это не проблема локальной производительности, а только предотвращение слишком высокой скорости запросов на удаленном сервере.
благодаря