長らく開発の続いていた RxSwift の 2 系がついにリリースされたようです。
今回もまあまあ変わっている部分があるようなので、beta4
, 2.0.0-rc0
, 2.0.0
あたりでの特に気になった変更点をまとめます。2.0.0 もリリースされことですし、そろそろインターフェースも落ち着いてくることを期待しています。
グローバルに定義されていた just
や failWith
などが削除され、Observable の static ファクトリメソッドになっています。。また後者については、error(ErrorType)
に変更されています。おもな変更を一応コードで書いておくと以下のような具合です。
// before just(value) //after Observable.just(value)
find replace all just(
to Observable.just(
// before failWith(/* ErrorType */) //after Observable.error(/* ErrorType */)
find replace all failWith(
to Observable.error(
of(sequenceOfに変更)
, empty
, create
, zip
, debounce
, range
, generate
, interval
など詳しくは この辺り をみると色々のってます。あとソースコードの diff
も見ましょう。
以前 Variable
は Obseravble
のインターフェースを持っていましたが、現在は asObservable()
をかましてあげる必要がああります。Variable
に対して、Observable の高階関数が直接使えなくなっているので注意が必要です。
var variable = Variable<Int> = Variable(1) // variable.filter(function) => これはできなくなっている variable.asObservable().filter(function)
MainScheduler.sharedInstance
がいなくなったMainScheduler.instance
に変更
RxCocoa
のほうの変更。find replace All で頑張ろう
テスト向けの便利なライブラリ RxTests
が増えたらしい。これについてはまた後ほど。あと VirtualTimeScheduler
というものと HistoricalScheduler
というものが増えたらしい。今後調べます。
今年も RxSwift を積極的に用いて、できればライブラリの開発にも Contribute できれば良いかなぁと思っています。みなさんも便利で快適なライブラリ、RxSwift を使って、胸がらんらん歌う開発を enjoy しましょう。