The document discusses reactive programming in Swift. It presents three cases of using reactive programming: 1) using an Observable with an array and UITableView, 2) using a UISearchBar with URL requests and a UITableView, and 3) using MVVM architecture. Live coding demonstrations are provided on GitHub for the first two cases. Useful links on RxSwift are also provided, and contact information is given for the presenter.
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