Skip to main content

RxSwift5をRxSwift6にマイグレーションした

RxSwiftのバージョンが6系になったので
5系からマイグレーションしてみた


・Podfile

-    pod 'RxSwift', '~> 5.1.1'
-    pod 'RxCocoa', '~> 5.1.1'
+    pod 'RxSwift', '~> 6.1.0'
+    pod 'RxCocoa', '~> 6.1.0'

 

・メソッド
observe

-            .observeOn(MainScheduler.instance)
+            .observe(on: MainScheduler.instance)

catchReturn

- catchErrorJustReturn
+ catchAndReturn

emitter
以下のエラーがでる

Type 'Result<PrimitiveSequence<SingleTrait, [Hoge]>.Element, Error>' (aka 'Result<Array<Hoge>, Error>') has no member 'error'

代入する値がSwiftのResult型になった。
successはそのままでうごくんだもんなぁw

Single<[Hoge]>.create { emitter in
//省略
-                    emitter(.error(error))
+                    emitter(.failure(error))

 

参考
https://qiita.com/decoch/items/4cc6ca0b1ae80f1bb751
https://tech.connehito.com/entry/rxswift6

関連記事:

Pocket