初心者プログラミング日記 SwiftUI④ SwiftUIのライフサイクル
WWDC20 Data Essentials in SwiftUIに移る
こんばんはNattsuXです。仕事で落ちているので、こんな時はLet'sプログラミング!
これまでコード模写である程度理解してきましたが、もう少し仕組みの部分を理解したいと
思って再チャレンジしています。
下記仮説なので、明日試そうと思います(Xcodeがアップデートして使えない。。。)
前提:下記のような画面表示でボタンを押すと"犬"が"猫"になるアプリがあったとする
犬
ボタン
通常
ビルド(body実行)→View→レンダリング→画面表示(Viewは捨てる)
→画面のボタンをタップ→ボタンは押せるけど猫にならない。(Viewは捨てられている)
@State付き
ビルド(body実行)→View→レンダリング→画面表示(Viewは捨てる、
Stateのついたプロパティにはストレージが割り当てられる)
→画面のボタンをタップ(イベント)
→StateのついたプロパティのSource of Truthが変化(犬から猫になる)
→Viewを再構築→Viewからストレージに接続→レンダリング
→犬から猫に変わって画面表示(Viewは捨てる)