iOS13から使えるようになったCombineを使ってみる
はじめに
私が担当しているアプリも近々iOS12以降対応だったのがiOS13以降対応になる。 いままで使えなかったCombine関連もいよいよ使うことができるので調べてみた。
サンプル実装
とりあえずviewDidLoad()に追加して実行してみました。
import UIKit import Combine class ViewController: UIViewController { var cancellable: AnyCancellable? = nil override func viewDidLoad() { super.viewDidLoad() let publisher = CurrentValueSubject<Int, Never>(1) cancellable = publisher.sink { a in print(a) } publisher.value = 2 publisher.value = 3 } }
結果
1 2 3
publisherに値をセットするたびに、sinkの処理が実行されています。
さいごに
今回はほんの一部だけ調査しました。 いままでViewModelの変更をViewに伝えるのにRxSwiftを使っていましたが、その処理はこちらに置き換えできそうです。 今後時間ができたらもっと深く調査しようかと思います。