RxSwiftのメソッドチェーン
はじめに
初めまして!
タップルでRxSwift武者修行中のせーたろです。
RxSwiftを書き始めてから知ったメソッドチェーンの備忘録兼メモです。
メソッドチェーンとは
メソッドを組み合わせた書き方をすることによって、関数型プログラミングの副作用を避ける方法を取り入れたプログラミングをし、より読みやすく宣言的なコードを書いています。
宣言的なコーディングを実現するため、メソッドチェ-ンによる処理の記述が基本であり重要です。
map と subscribe による例
// 入力されたInt型の値を2倍する
_ = Observable.just(10)
.map { $0 * 2 }
.subscribe(onNext: { print($0) // => 20
})
// 入力されたInt型の値を2倍する
_ = Observable.just(10)
.map { $0 * 2 }
.subscribe(onNext: { print($0) // => 20
})
型が同じ限り一生.mapとかの処理をつなげられるけど、
この場合.subscribeしたら型が変わるのでdisposeBagして終了
(多分このつなげて書くやつをつよつよの人は"比較的宣言的な書き方"と言ってるっぽいです)
そして、mapのクロージャの戻り値を Int → Stringにすると
購読できるイベントもInt → Stringになります。
map に使われているクロージャの戻り値によって購読できる型が変わるということです
RxSwiftのオペレータはジェネリクスを使ったインタフェースを定義することで、メソッドチェ-ンを実現しています。
Author And Source
この問題について(RxSwiftのメソッドチェーン), 我々は、より多くの情報をここで見つけました https://qiita.com/oskmr/items/5ef9a86a036f4b6ddda0著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .