Cet article est une continuation de Mon résumé RxSwift ①.
Il y a deux points à prendre en compte dans le traitement asynchrone.
Est.
RxSwift résout ces problèmes en incorporant les deux concepts suivants:
, la valeur de ʻa
est b
et c
. Mettez à jour chaque fois que la valeur change.Et j'ai les cinq caractéristiques suivantes. (= [Système réactif](https://thinkit.co.jp/article/9185#:~:text=%E3%83%AA%E3%82%A2%E3%82%AF%E3%83%86 % E3% 82% A3% E3% 83% 96% E3% 82% B7% E3% 82% B9% E3% 83% 86% E3% 83% A0% E3% 81% A8% E3% 81% AF% E3 % 80% 81% E3% 81% B2% E3% 81% A8% E3% 81% 93% E3% 81% A8% E3% 81% A7% E8% A8% 80% E3% 81% 86% E3% 81 % A8% E3% 80% 8C% E5% 8D% B3% E5% BF% 9C,% E3% 80% 8D% E3% 81% A7% E3% 81% 99% EF% BC% 88% E5% 9B% B31% EF% BC% 89% E3% 80% 82))
--Adaptatif → Toujours refléter le dernier état de l'application dans l'interface utilisateur --Résilient → Chaque processus est séparé et la récupération d'erreur est facile. --Elastique → Charge de travail variable vs [Chargement retardé](https://ja.wikipedia.org/wiki/ % E9% 81% 85% E5% BB% B6% E8% AA% AD% E3% 81% BF% E8% BE% BC% E3% 81% BF) et [Throttle](https: // future-architect .github.io / articles / 20200121 /), partage de ressources et autres fonctionnalités
RxSwift a trois composants: ʻObservable / opérateur / planificateur`.
Observable
ʻObservable Une cible d'observation définie par
Plusieurs «observateurs» peuvent réagir aux événements en temps réel pour mettre à jour l'interface utilisateur et utiliser les données. Le protocole «ObservableType» peut générer les trois événements suivants.
--next
→ Evénement qui amène les données suivantes à ʻobserver. Continuez à apporter la valeur à ʻobserver
jusqu'à ce que terminé
se produise.
--completed
→ Terminer une série d'événements avec succès
et avertir l'observateur.
--ʻError → Notifier que ʻobservable
s'est terminé par ʻerror`.
Operators
ʻObservable contient un certain nombre de méthodes (ʻOperators
) qui effectuent un traitement asynchrone basé sur les événements. Puisque ceux-ci ne génèrent que la sortie sans effet secondaire (se reflétant du côté utilisateur dans l'interface utilisateur), vous pouvez combiner ʻOperator` pour convertir l'entrée en n'importe quelle valeur.
Pour nommer un «opérateur» typique,
--filter
→ Extraire uniquement les valeurs qui remplissent les conditions
--Effectuer un traitement pour toutes les valeurs qui ont coulé dans map
→ ʻObservable --
skip` → Passer une valeur spécifique
Etc. (Je vais le résumer dans un autre article plus tard.)
Scehduler
Scheduler
est similaire à Dispatch queue
, et le traitement peut être divisé en thread principal et sous-thread. RxSwift a beaucoup de Scheduler
s prédéfinis, donc c'est pratique!
RxCocoa
«RxSwift» concerne l'utilisation courante de Rx, pas seulement «Swift». ʻUIKit etc. propres à
Swiftseront traités en utilisant
RxCocoa.
RxCocoa est une bibliothèque qui ajoute des fonctionnalités réactives à de nombreuses ʻUI parts
.