Migration from RxSwift 1.9 to RxSwift 2.0
The migration should be pretty straightforward. Changes are mostly cosmetic, so all features are still there.
- Find replace all
>-to. - Find replace all
variabletoshareReplay(1) - Find replace all
catchtocatchErrorJustReturn - Find replace all
returnElementtoObservable.just - Find replace all
failWithtoObservable.error - Find replace all
nevertoObservable.never - Find replace all
emptytoObservable.empty - Since we've moved from
>-to., free functions are now methods, so use.switchLatest(),.distinctUntilChanged(), ... instead of>- switchLatest,>- distinctUntilChanged - We've moved from free functions to extensions so it's now
[a, b, c].concat(),.merge(), ... instead ofconcat([a, b, c]),merge(sequences) - Similarly, it's now
subscribe { n in ... }.addDisposableTo(disposeBag)instead of>- disposeBag.addDisposable - The method
nextonVariableis nowvaluesetter - If you want to use
UITableViewand/orUICollectionView, this is the basic use case now:
viewModel.rows
.bindTo(resultsTableView.rx_itemsWithCellIdentifier("WikipediaSearchCell", cellType: WikipediaSearchCell.self)) { (_, viewModel, cell) in
cell.viewModel = viewModel
}
.addDisposableTo(disposeBag)
If you have any doubts about how some concept in RxSwift 2.0 works, check out the Example app or playgrounds.