RxSwift Ch1


RxSwift学習GitHubを見て、次から次へと続く場所.

Ch1. Hello RxSwift


Rxとは?
Rx is a generic abstraction of computation expressed through Observable interface, which lets you broadcast and subscribe to values and other events from an Observable stream.
Rxは観測可能な界面で計算される一般的な抽象である.これにより、観察可能なストリームの値やその他のイベントをブロードキャストまたはサブスクリプションできます.

A.RxSWIFTとは?


RxのSWIFTバージョンは、SWIFTによって作成されたコードで、新しいデータに応答して順番に分離して処理することができ、非同期プログラミングを容易に実施することができる.

B. Cocoa and UIKit Asynchronous APIs


では、UIKITは非同期プログラミングができないのでしょうか?(x)
以下の方法がある
  • Notificaiton Center
  • delegate pattern
  • GCD
  • completion closure
  • しかし、あるアプリケーションコードを作成した場合、各クラスの動作を追跡することは不可能です.

    C.非同期プログラミング用語


    1. State


    Stateはステータスを表します.
    同じ関数もステータスによって異なる場合があります.

    2.コマンドプログラミング


    プログラミング状態と状態を変える文法の角度からプログラミングを行います!
    複雑な非同期アプリケーションを作成するには、コマンドプログラミングが難しいです.ううう
    func doSomething() {
    	cleanRoom()
      	eatLunch()
      	goRunning()
      	playGame()
    } 
    各メソッドは順番に操作されていますが、各メソッドはアプリケーションの状態を変えることができますよね?
    これでは追跡が難しく、この関数がアプリケーションの状態を変えるかどうか分からない.

    3.付随作用

  • は、現在の範囲外で発生するすべての変化を指す.
  • でcleanRoom~playGameという関数が実行されていますが、これらの関数はappの状態を変更する可能性がありますよね?それ自体が問題ではなく、コントロールできるかどうかが問題です.

    4.宣言コード

  • コマンドプログラミング、オブジェクト向けプログラミングでは状態変更が自由に行える
  • .
  • 関数式プログラミングは、副作用
  • の生成を許さない.
  • RxSWIFT結合コマンドと関数
    -自由状態変化および+追跡可能/予測可能な結果値を得る
  • D.RxSwiftベース


    1. Observables

    - Rx코드의 기반이고, 전달가능한 이벤트를 비동기적으로 생성합니다
    - Observable은 이벤트를 방출하고, observer는 해당 이벤트를 구독합니다
    -next:次のデータを転送するイベント
    -完了:イベントを正常に終了
    -error:エラーが発生し、イベントが終了しました.

    2. Operators

    - 비동기 작업을 추상화하기위한 여러 매서드를 연산자라고 부릅니다
    - 한두개가 아님.... map, filter, flatMap, skip 등등

    E. App Architecture


    RxSWIFTは既存のアプリケーションアーキテクチャとは関係ありませんが、MVVMとの併用は非常に優れています.)
    ビューモデルで観測可能な値として値を解放し、ビューではその値だけを受け入れることができます!

    F. RxCocoa


    RxSwiftには、UIKEtおよびCocoaフレームワークに含まれるクラスに関する情報はありません.したがって、UIとともに使用するには、RxCocoaというライブラリを同時に使用する必要があります.