SwiftUI: Do czego służy @State?
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
}
}
}
}
}