Ich möchte das Ereignis drosseln, das von einem EventProducerType
des SwiftBond Frameworks erzeugt wird.Drosselungsereignis von EventProducerType erzeugt - Swift Bond
Hier ist, wie ich teste, wie ein Ereignis zu drosseln:
var throttledObserver: EventProducer<String?>!
init() {
throttledObserver = Observable<String?>(nil).throttle(1000, queue: Queue.Main)
throttledObserver.observeNew { text in
// This is always printed no matter how large the throttle time interval is
print(text)
}
}
// UISearchBarDelegate method
func searchBar(searchBar: UISearchBar, textDidChange searchText: String) {
throttledObserver.next(searchText)
}
Mit diesem Ansatz gibt es keine Drosselung und der Text gedruckt wird, unmittelbar nach dem Text zu ändern. Mein Ziel ist es, den Suchtext einer UISearchBar zu drosseln, um Netzwerkanforderungen zum Abrufen einiger Daten von einem Endpunkt zu stellen.
Ich habe es mit dem folgenden arbeiten: –