0
1

More than 1 year has passed since last update.

@State #SwiftUIの修飾子に関して簡単にアウトプットしてみる

Posted at

はじめに

今後、何回かに分けて@〜と表現されるSwiftUI特有の修飾子についてアウトプットしていく。
前提として、これら修飾子の付いたキーワードはプロパティラッパーなどと呼ばれる。
プロパティラッパーとは、ものすごく簡単にいうと、値の数を増やす・減らす・確認するなどを簡単にできる機能みたいなニュアンスである。また、その値の変更に伴って、自動的に画面描画(画面の更新)をしてくれる便利な機能も存在する。

@Stateの詳細

  • @Stateはプロパティラッパーの一つで、状態を管理するために使われる
  • 値が更新されたらViewが自動的にリロード(再描画)される
  • structの中で値を変更できる
  • @Stateは親Viewとその配下の子Viewでしかアクセスできないため、private修飾子を付与し、外部からアクセスできないようにするのが好ましい。というか、それが暗黙のルール。

ソースコード

Swift
// Textの下にボタンがあり、ボタンを押すと、Textのテキストが変化する。で挙動を確認する。
struct ContentView: View {
    @State private text = "Hello"

    // Textの下にボタンを配置。ボタンを押すとTextのテキストが変化する。
    var body: some View {
        VStack {
            Text(text)

            Button("ボタン") {
                // ボタンが押され、textには"こんにちは"が代入される。
                // 代入、つまり、値を更新されるのでViewは再描画される。
                text = "こんにちは"
            }
        }
    }
}

おわりに

間違い等ありましたらコメント欄にてご指摘ください!

参考記事

開発環境

  • Xcode-14.3
  • Swift version 5.8
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1