SwiftUI入門 レッスン4
@Binding
親子View間でデータを双方向バインディングする@Bindingの使い方を学びます。
@Bindingとは
@Bindingは子Viewが親Viewの@State値への参照を受け取り、 読み書きできるようにするプロパティラッパーです。 親の$プレフィックスで渡し、子はそれを@Bindingで受け取ります。
- 親:
@State private var value→ 子へ$valueで渡す - 子:
@Binding var valueで受け取る - 子が変更すると親の@Stateも更新される(双方向)
- 所有権は親にある(子はBindingを所有しない)
@Bindingの基本
親が@Stateを持ち、子へ$で渡します。子が変更すると親にも反映されます。
Swiftエディタ
カスタム入力コンポーネント
@Bindingを使ってTextFieldをラップしたカスタムコンポーネントを作ります。
Swiftエディタ