Domanda

Sto cercando di stabilire come raggiungere UISearchBar di ritardare chiamando textDidChange fino a pochi millisecs sono passati. Il mio obiettivo è quello di aggregare più voci della tastiera in una chiamata di servizio Web remoto .. Come ce l'ho adesso mi chiamare il server ogni battitura e questo è troppo.

Se non c'è qualche modo all'interno di uno dei metodi UISearchBar delegati ... c'è qualche altro modo per ottenere lo stesso risultato ... vale a dire solo che non chiamare il server fino a quando l'utente ha messo in pausa di entrare chiavi?

Ho utilizzato questo metodo delegato:

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText 
È stato utile?

Soluzione

Sì, è possibile utilizzare un NSTimer.

Fare questo:

  1. Crea un NSTimer che chiama la chiamata servizio Web remoto ed eseguire quando l'utente inizia a digitare.
  2. Ogni volta che l'utente inserisce una chiave hanno il reset del timer e ricominciare.
  3. Se l'utente ha interrotto digitando il NSTimer sparerà la chiamata servizio Web.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top