Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
28
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

@gomi_ningen

RxSwift2.0.0がリリースされた

この記事は 「RxSwift Advent Calendar 2015」1日目の記事です。

長らく開発の続いていたRxSwiftの2系がついにリリースされたようです。

今回もまあまあ変わっている部分があるようなので、beta4, 2.0.0-rc0, 2.0.0 あたりでの特に気になった変更点をまとめます。2.0.0もリリースされことですし、そろそろインターフェースも落ち着いてくることを期待しています。

Observable生成メソッド関連の変更

グローバルに定義されていた justfailWith などが削除され、Observablestatic ファクトリメソッドになっています。また後者については、error(ErrorType) に変更されています。おもな変更を一応コードで書いておくと以下のような具合です。

just の変更点

// before
just(value)  
//after
Observable.just(value)

find replace all just( to Observable.just( すればOK

failWith の変更

// before
failWith(/* ErrorType */)
//after
Observable.error(/* ErrorType */)

find replace all failWith( to Observable.error( すればOK

同様な変更

of(sequenceOfに変更), empty, create, zip, debounce, range, generate, interval など詳しくは この辺り をみると色々のってます。あとソースコードの diff も見ましょう。

Variable の変更

以前 VariableObseravble のインターフェースを持っていましたが、現在は asObservable() をかましてあげる必要がああります。Variable に対して、Observableの高階関数が直接使えなくなっているので注意が必要です。

var variable = Variable<Int> = Variable(1)
// variable.filter(function) => これはできなくなっている
variable.asObservable().filter(function)

MainScheduler.sharedInstance がいなくなった

MainScheduler.instance に変更

rx_controlEventsrx_controlEvent に変更された

RxCocoa のほうの変更。find replace All で頑張ろう

その他

テスト向けの便利なライブラリ RxTests が増えたらしい。これについてはまた後ほど。あと VirtualTimeScheduler というものと HistoricalScheduler というものが増えたらしい。今後調べます。

おわりに

今年もRxSwiftを積極的に用いて、できればライブラリの開発にもContributeできれば良いかなぁと思っています。みなさんも便利で快適なライブラリ、RxSwiftを使って、胸がらんらん歌う開発をenjoyしましょう。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
28
Help us understand the problem. What are the problem?