SwiftUI: Do czego służy @State?

Opublikowano: 02.01.2024 - tagi: SwiftUI Swift Widok Stan

Czym jest @State?

W SwiftUI widoki są tworzone za pomocą struktur. Struktury w Swift domyślnie są niezmienne (ang.: immutable). Dzięki @State możesz określić, która właściwość będzie mogła zmienić stan widoku.

Używa się tego do właściwości widoku:

struct SomeView: View {
	@State private someProperty: String = ""
}

Kiedy oznaczysz jakąś właściwość jako @State, informujesz w ten sposób SwiftUI, że ma ona być nasłuchiwana i przy każdej zmianie wartości widok ma być odświeżony.

@State powinno się używać dla typów prostych jak: stringi, liczby lub tablice.

Przykład

import SwiftUI

struct ContentView: View {
    @State private var counter: Int = 0
    var body: some View {
        VStack {
            Text("\(counter)")
                .font(.largeTitle)
            HStack {
                Button("+") {
                    counter += 1
                }
                
                Button("-") {
                    counter -= 1
                }
            }
        }
    }
}