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