Pregunta

Estoy tratando de determinar cómo conseguir UISearchBar retrasar llamando textDidChange hasta unos millisecs han pasado. Mi objetivo es agregar múltiples entradas de teclado en una llamada de servicio web remoto .. Como lo tengo ahora llamar al servidor cada golpe de teclado y esto es demasiado.

Si no hay alguna manera dentro de uno de los métodos de delegado UISearchBar ... ¿hay alguna otra manera de lograr el mismo objetivo ... es decir, simplemente no llamar al servidor hasta que el usuario ha hecho una pausa introducir las claves?

He estado usando este método delegado:

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText 
¿Fue útil?

Solución

Sí, se puede usar un NSTimer.

Haga lo siguiente:

  1. Crear una NSTimer que llama a su llamada de servicio web remoto y ejecutarlo cuando el usuario comienza a escribir.
  2. Cada vez que el usuario introduce una clave tienen el restablecimiento del temporizador y empezar de nuevo.
  3. Si el usuario ha detenido escribiendo el NSTimer se disparará su llamada de servicio web.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top