SwiftUIの@Stateについて
まずは@Stateの要点をまとめます
・@StateはSwiftUIの変数宣言に使用される
・値が更新されるたびに自動的にViewが再描画される機能を提供
・struct内で通常変更できない値を変更できるようになる
・変数にprivateをつけることで、アクセス範囲を限定しセキュリティを向上させる
・再描画が自動で行われるため、UIの更新が容易になる
・@StateはそのViewとその配下のViewにのみアクセス可能
・privateをつけることは、鍵をかけるようなイメージで理解できる
・@Stateを使うことで、データの変更とViewの更新が効率的に行われる
1、変数の宣言:
SwiftUIのView内で、状態を管理したい変数を宣言する際に、@State属性を付けます。また、アクセス範囲を限定するためにprivateを追加することが推奨されます。
例:
@State private var text = "Hello, world!"
2、Viewの構築:
bodyプロパティの中で、状態変数を使用してViewを構築します。状態変数が変更されると、Viewが自動的に再描画されます。
例:
var body: some View {
VStack {
Text(text)
.padding()
Button("ボタン") {
text = "こんにちは、世界"
}
}
}
ここではボタンをタップするするとtextに「こんにちは」という文字列が入ります。
ユーザー操作やイベントに応じて、状態変数の値を変更します。@Stateが付与された変数は、struct内で変更可能です。値が変更されると、関連するViewが自動的に再描画されます。
この部分ですね。
Button("ボタン") {
text = "こんにちは、世界"
}
このように、@Stateを使うことで、状態変数の値が変更されると自動的に関連するViewが再描画され、UIの更新が容易になります。また、privateを使ってアクセス範囲を制限することで、コードの安全性も向上します。