Tengo una parte UISearchBar de un UISearchDisplayController que se usa para mostrar resultados de búsqueda tanto de CoreData local como de API remota. Lo que quiero lograr es el "retraso" de la búsqueda en la API remota. Actualmente, por cada carácter escrito por el usuario, se envía una solicitud. Pero si el usuario escribe particularmente rápido, no tiene sentido enviar muchas solicitudes: sería útil esperar hasta que deje de escribir. ¿Hay alguna forma de lograrlo?
Leer la documentación sugiere esperar hasta que los usuarios toquen explícitamente la búsqueda, pero no lo encuentro ideal en mi caso.
Problemas de desempeño. Si las operaciones de búsqueda se pueden llevar a cabo muy rápidamente, es posible actualizar los resultados de la búsqueda mientras el usuario escribe mediante la implementación del método searchBar: textDidChange: en el objeto delegado. Sin embargo, si una operación de búsqueda lleva más tiempo, debe esperar hasta que el usuario toque el botón Buscar antes de comenzar la búsqueda en el método searchBarSearchButtonClicked :. Realice siempre las operaciones de búsqueda en un hilo en segundo plano para evitar bloquear el hilo principal. Esto hace que su aplicación responda al usuario mientras se ejecuta la búsqueda y brinda una mejor experiencia de usuario.
Enviar muchas solicitudes a la API no es un problema de rendimiento local, sino solo de evitar una tasa de solicitud demasiado alta en el servidor remoto.
Gracias