Dans une application iOS, on fait de l’asynchrone pour plein de choses…
Des design-pattern différents pour au final faire de l’asynchrone.
Intérêt de la programmation réactive ? Permettre de combiner facilement toutes ces notions sous une forme plus uniforme.
On veut pouvoir observer un tableau qui va servir à alimenter une UITableView
Schématisation
Voir la classe TimeViewController
Depuis le UISearchBar, on observe le contenu texte, puis on y fait plusieurs traitement :
orEmpty : transforme le texte récupéré de String? à String
debounce : ignore les élements de la séquence sur une durée de 0.5s
map : on transforme notre String en URLRequest
flatMapLatest : transforme les éléments de la séquence précédente en une nouvelle séquence d’éléments puis retourne la séquence la plus récente
map : on transforme la donnée de la séquence précédente en une liste d’objets « GithubRepo »
bindTo : on bind tout ça sur la tableView