SwiftUI で Timer を使用した時に Publisher というのがあって、TimerはPublisherという機能と関係があるんだ程度の認識だった。 なんとなく使えてるからいいかなとは思っていたが、理解できてないのはなんとなく気持ち悪い。
やっぱりよくわからないのだがCombineというフレームワークと関わっているらしい。
ここや、その参考としている先を読んでみるが、抽象的な感じでピンと来ていない。
が、上の終わりに@Stateや@Bindingの理解というのがあって、これはSwiftUIでいつも目にしているものだ。
SwiftUIも理解しているわけではなくこうすればこうなる程度の理解で、突っ込んで学ぶいい機会かもしれない。
一応ここまでの感じでは今までDelegateやNotification、KVOでやっていた事がPublisherとSubscriberという関係でくくれる様になる。
SwiftUIはモデルの方がPublisherになって、Viewの方がSubscriberとなりデータが変更されるとViewに変更が伝えられて更新される。
あっているかどうかはこの先理解が進むと分かるだろう。