Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Rxのストリームを 感じるために大切なこと

Rxのストリームを 感じるために大切なこと

Web技術勉強会#01のLT資料です。
RxSwiftを学んだので、Rxについての概要を少しまとめた緩々の内容となっています。

tofu_san0000

April 06, 2019
Tweet

More Decks by tofu_san0000

Other Decks in Programming

Transcript

  1. 6 RxSwiftとは > Rxとは • Rx ◦ Reactive Programming ◦

    Extensions • Rxは以下の3つを組み合わせたもの ◦ Observableパターン ◦ Iteratorパターン ◦ 関数型プログラミング
  2. • Observable.just() ◦ 例: Observable.just(10) • Observable.of() ◦ Observable.of(“a”, “b”,

    “c”) • Observable.from() ◦ Observable.from([1, 2, 3]) 11 Rxの基本 > Observable > ストリームの生成
  3. • next ◦ データが正しく流れてきたというイベント ◦ 任意の型のデータを引数にもつ • error ◦ エラー(例外)で異常停止した時に流れるイベント

    ◦ 発生したエラーを引数にもつ • completed ◦ 完了時に発生するイベント ◦ 最後に一度だけ発生する 12 Rxの基本 > Observable > イベント
  4. let disposable = Observable.of(“a”, “b”, “c”) .subscribe( x in //

    “a”, “b”, “c” onNext: { value in // イベント発生時の処理 }, onError: { error in // エラー発生時の処理 }, onCompleted: { // 完了時の処理 } ) 22 Rxの基本 > コード例
  5. • map ◦ ストリームを変換する • filter ◦ ストリームをフィルタする • flatMap

    ◦ ストリームを変換する ◦ クロージャの返り値がObservable 25 Rxの基本 > オペレータ > ストリームの操作
  6. let disposable = Observable.of(1, 2, 3) .filter { x in

    > 1 } // 2, 3 .map { x in x * 2 } // 4, 6 .flatMap { x in Observable.of(x, x * 2) } // 4, 8, 6, 12 .subscribe( x in onNext: { value in // イベント発生時の処理 }, onError: { error in // エラー発生時の処理 }, onCompleted: { // 完了時の処理 } ) 29 Rxの基本>オペレータ>ストリームの操作>コード例