Dieser Artikel ist eine Fortsetzung von My RxSwift Summary ①.
Bei der asynchronen Verarbeitung sind zwei Punkte zu beachten.
--Code Ausführungsreihenfolge
Ist.
RxSwift behebt diese Probleme, indem es die folgenden zwei Konzepte einbezieht:
Und ich habe die folgenden fünf Funktionen. (= [Reaktives System](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))
--Responsive → Gibt immer den neuesten Status der Anwendung in der Benutzeroberfläche wieder --Resilient → Jeder Prozess ist getrennt und die Fehlerbehebung ist einfach. --Elastic → Variable Workload vs. [Verzögertes Laden](https://ja.wikipedia.org/wiki/ % E9% 81% 85% E5% BB% B6% E8% AA% AD% E3% 81% BF% E8% BE% BC% E3% 81% BF) und [Gas](https: // Future-Architect) .github.io / articles / 20200121 /), gemeinsame Nutzung von Ressourcen und andere Funktionen
RxSwift besteht aus drei Komponenten: "Observable / Operator / Scheduler".
Observable
Ein Beobachtungsziel, das durch "Observable
Mehrere "Beobachter" können in Echtzeit auf Ereignisse reagieren, um die Benutzeroberfläche zu aktualisieren und Daten zu verwenden.
Das ObservableType-Protokoll kann die folgenden drei Ereignisse erzeugen.
--next → Ereignis, das die nächsten Daten zum Beobachter bringt. Bringen Sie so lange Werte zum "Beobachter", bis "abgeschlossen" eintritt.
--abgeschlossen → Beenden Sie eine Reihe von Ereignissen mit Erfolg und benachrichtigen Sie den Beobachter.
--error → Benachrichtigen Sie, dass Observable mit error endete.
Operators
Observable <Typ> enthält viele Methoden (Operatoren), die eine asynchrone, ereignisbasierte Verarbeitung durchführen. Da diese nur die Ausgabe ohne den Nebeneffekt erzeugen (der sich auf der Benutzerseite in der Benutzeroberfläche widerspiegelt), können Sie "Operator" kombinieren, um die Eingabe in einen beliebigen Wert zu konvertieren.
Um einen typischen "Operator" zu nennen,
--filter → Extrahieren Sie nur die Werte, die die Bedingungen erfüllen
map → Observable geflossen sind
--skip → Überspringe einen bestimmten WertUnd so weiter. (Ich werde es später in einem anderen Artikel zusammenfassen.)
Scehduler
Scheduler ähnelt Dispatch Queue und die Verarbeitung kann in Haupt- und Neben-Thread unterteilt werden. RxSwift hat viele vordefinierte Scheduler, also ist es praktisch!
RxCocoa
Bei "RxSwift" geht es um die allgemeine Verwendung von Rx, nicht nur um "Swift". "UIKit" usw., die "Swift" eigen sind, werden mit "RxCocoa" behandelt.
RxCocoa ist eine Bibliothek, die vielen UI-Teilen reaktive Funktionen hinzufügt.
Recommended Posts