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