Les retards UISearchBar textDidChange pour les appels à distance
-
20-09-2019 - |
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
La solution
Oui, vous pouvez utiliser un NSTimer.
Pour ce faire:
- Créer un NSTimer qui appelle votre appel de service Web distant et l'exécuter lorsque l'utilisateur commence à taper.
- Chaque fois que l'utilisateur entre une clé ont la remise à zéro de la minuterie et recommencer.
- 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