Updated
Dec 12, 2019 8:02 AM
Created
Sep 23, 2019 10:33 PM
Tags
SwiftUI.frameworkMemo
Keywords
次の記事からの追記
[発散メモ] SwiftUIではMVVM系とRedux系のどちらが良さそうか
がーっと悩んで、やはりインスパイア元の考え方の理解を深めようとVuejsを見に行った。
理解していたつもりになっていたcomputed
Vuexについているものかと思ったが、そうではなかった。
そして、componentごとにVueインスタンスを作るようだが、その名前がvm(ViewModel)
こちらの記事でVueでのコンポーネントの書き方の基本をSwiftUIに写してみる。
Vue.js と SwiftUI で考え方を対応させる
なるほどー、
つまりこれって、SwiftUIのViewってViewModelじゃない?
@State
と onAppear
と onDisappear
の活用をもっと考えればViewModelのような振る舞いをViewインスタンスだけで可能になりそうな気がする。
実験中...
そこそこ思った通りで、表示している間だけ保持したいものは @State
に入れておけばcomponentのinitは呼ばれるけど、Stateの中身は前回のものが引き継がれている。
ので、UIKit時代に画面のライフサイクルに応じて作っていたViewModelはSwiftUIではViewということにできるかな?
何かヒントを得られた気がする。