Frage

Ich versuche zu bestimmen, wie man bekommt UISearchBar Anruf zu verzögern textDidChange Bis ein paar Millisecs vergangen sind. Mein Ziel ist es, mehrere Tastatureinträge in einen Remote -Webdienstanruf zu aggregieren. Da ich ihn jetzt habe, rufe ich den Server bei jedem Tastenanschlag auf und das ist viel zu viel.

Wenn es keinen Weg innerhalb eines der gibt UISearchBar Delegierte Methoden ... Gibt es eine andere Möglichkeit, das gleiche Ziel zu erreichen?

Ich habe diese Delegate -Methode verwendet:

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText 
War es hilfreich?

Lösung

Ja, Sie können einen Nstimer verwenden.

Mach das:

  1. Erstellen Sie einen NSTIMER, der Ihren Remote -Web -Service -Anruf aufruft, und führen Sie ihn aus, wenn der Benutzer mit dem Eingeben beginnt.
  2. Jedes Mal, wenn der Benutzer einen Schlüssel eingibt, hat der Timer zurückgesetzt und startet erneut.
  3. Wenn der Benutzer eingestellt hat, dass der NSTIMER Ihren Webdienstanruf abfängt.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top