Question

Je suis en train de déterminer comment obtenir UISearchBar Prorogation de délai textDidChange jusqu'à quelques millisecs se sont écoulés. Mon but est de regrouper plusieurs entrées du clavier en un seul appel de service Web distant .. Comme je l'ai maintenant j'appeler le serveur chaque frappe, ce qui est beaucoup trop.

S'il n'y a pas une certaine façon dans l'une des méthodes de délégué de UISearchBar ... est-il une autre façon d'atteindre le même objectif ... à savoir juste ne pas appeler le serveur jusqu'à ce que l'utilisateur a fait une pause la saisie des clés?

J'utilise cette méthode déléguée:

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText 
Était-ce utile?

La solution

Oui, vous pouvez utiliser un NSTimer.

Pour ce faire:

  1. Créer un NSTimer qui appelle votre appel de service Web distant et l'exécuter lorsque l'utilisateur commence à taper.
  2. Chaque fois que l'utilisateur entre une clé ont la remise à zéro de la minuterie et recommencer.
  3. Si l'utilisateur a cessé de taper le NSTimer se déclenche votre appel de service Web.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top