#はじめに
前回
今回はOptionalな値が流れるストリームに対してさまざまなことをできるようにする拡張ライブラリーであるRxOptionalをみていこうかと思います。
#RxOptional
###filterNil()
nilをはじいてくれるオペレーター
Observable<String?>
.of("100", nil, "200")
.filterNil() //Observable<String?> -> Observable<String>
.subscribe { print($0) }
//100
//200
###replaceNilWith()
nilを置き換えることができるオペレーター
Observable<String?>
.of("100", nil, "200")
.replaceNilWith("300")
.subscribe { print($0) }
//100
//300
//200
###errorOnNil()
nilが検出されたときにエラーをながすオペレーター
Observable<String?>
.of("100", nil, "200")
.errorOnNil()
.subscribe { print($0) }
//100
//Found nil while trying to unwrap type<Optional<String>>
###filterEmpty()
空の配列や辞書をはじいてくれるオペレーター
Observable<[String]>
.of(["1"], [], ["2", "3"])
.filterEmpty()
.subscribe { print($0) }
//["1"]
//["2", "3"]
#おわりに
次回
RxSwiftって拡張ライブラリーたくさんありますね!