Category: Tech
SwiftUIでは、@Bindingを使ってデータの双方向バインディングを簡単実現できますが、より柔軟にバインディングを作りたい場合には、Bindin構造体のget/setを活用する方法があります。 本記事では、Binding(get:set:)の基本的な使い方から、実用的なカスタムバインディングの例まで解説します。 そもそもBindingとは? @Stateなどの変数を他のViewに渡して編集できるようにする仕組みです。 Binding(get:set:)とは? SwiftUIのBindingには以下のようなイニシャライザがあります。 これにより、「自前で読み書きのロジックを定義したバインディング」を作れます。 基本例:読み書きのロジックを分離したい場合 このようにsetでロジックを追加できるため、「副作用(ログ出力・バリデーションなど)」を持たせたいときに便利です。 応用例:Boolを反転させるBinding ここでは、isVisibleの逆の意味でトグルを操作できます。UIとロジックのズレを吸収できます。 実践的な使い方:String入力にバリデーションを追加 よくあるエラー:「Bindingを直接渡せない」 エラー例 エラーメッセージ: 解決方法 Binding(get:set:)を使って明示的にラップします。 まとめ Binding(get:set:) ロジックを挟んだ柔軟なバインディング setに副作用を加える ログ・制限・非同期処理などを追加可能 getで逆転・変換など可能 Bool反転、文字列変換、数値→文字列変換などに活用できる おすすめの活用シーン
From the technology behind light and sound performances, to development insights, UI/UX design choices, and branding philosophy — we’re excited to share the behind-the-scenes of Lumebeat from the perspective of our team. We’ll be updating it little by little, so stay tuned and check it out!