shintaro

こんにちは!SwiftUIを学び始めて、最近学習した@Stateについて、学び取ったことをアウトプットしてみたいと思います。

@Stateとは?僕が理解したこと

2.1 基本的な概念

僕が学んだところによると、@Stateは、SwiftUI内でビューの状態を管理するためのものです。この変数が変わると、それに関連するビューが自動で再描画されるのが特徴です。

2.2 使用例: スイッチのON/OFF

僕が試してみたサンプルコードを以下に示します。

struct ContentView: View {
    @State private var isOn = false

    var body: some View {
        VStack {
            Toggle(isOn: $isOn) {
                Text("スイッチ")
            }

            if isOn {
                Text("スイッチがONです!")
            } else {
                Text("スイッチがOFFです。")
            }
        }
    }
}

このコードでは、@Stateを使ってスイッチの状態(ON/OFF)をisOnという変数で管理しています。そして、スイッチの状態に応じてテキストが変わる仕組みになっています。

2.3 バインディングって何?

初めて@Stateを学ぶと、バインディングという言葉にも出会います。

これは、ビューコンポーネントと状態を双方向で連携させるための仕組み。特に$記号を使ったバインディングは頻繁に見かけるはずです。