ひとしれずひっそり

主にソフトに関することをメモしていきます。過程をそのまま書いていたりするので間違いが含まれます。鵜呑みしない様に。

Combine (1)

SwiftUI で Timer を使用した時に Publisher というのがあって、TimerはPublisherという機能と関係があるんだ程度の認識だった。 なんとなく使えてるからいいかなとは思っていたが、理解できてないのはなんとなく気持ち悪い。

developer.apple.com

やっぱりよくわからないのだがCombineというフレームワークと関わっているらしい。

ここや、その参考としている先を読んでみるが、抽象的な感じでピンと来ていない。

qiita.com

zenn.dev

が、上の終わりに@Stateや@Bindingの理解というのがあって、これはSwiftUIでいつも目にしているものだ。
SwiftUIも理解しているわけではなくこうすればこうなる程度の理解で、突っ込んで学ぶいい機会かもしれない。

一応ここまでの感じでは今までDelegateやNotification、KVOでやっていた事がPublisherとSubscriberという関係でくくれる様になる。
SwiftUIはモデルの方がPublisherになって、Viewの方がSubscriberとなりデータが変更されるとViewに変更が伝えられて更新される。

あっているかどうかはこの先理解が進むと分かるだろう。