La proprietà @State
Fa parte della sezione Introduzione a SwiftUI del percorso Swift di Coddy. Lezione 20 di 50.
Il body di una view viene ricalcolato in base ai suoi dati. Per avere dati che cambiano, contrassegna una proprietà con @State. Quando una proprietà di stato cambia, SwiftUI esegue di nuovo il body e aggiorna lo schermo:
struct ContentView: View {
@State private var count = 0
var body: some View {
VStack {
Text("Count: \(count)")
Button("Add one") {
count += 1
}
}
}
}Ogni tocco esegue count += 1 e il testo mostra il nuovo numero. Non aggiorni mai il testo manualmente: il testo è descritto in funzione di count, quindi segue il valore.
Una semplice var in una vista non può essere modificata dal suo body, perché le viste sono struct. @State memorizza il valore al di fuori della struct, così sopravvive a ogni ridisegno. Contrassegna lo stato come private: appartiene a questa vista.
Sfida
FacileCompleta il contatore dei tocchi. L'azione del pulsante è vuota: fai in modo che ogni tocco aggiunga 1 a taps, così il testo mostrerà Taps: 1 dopo un tocco e Taps: 2 dopo due.
Provalo tu
import SwiftUI
@main
struct CoddyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Introduzione a SwiftUI
7Elenchi
Per ogni elementoElementi identificabiliElencoAggiungere elementiRiepilogo - Lista della spesa10Progetto - Coddy Coffee
Panoramica del progettoSchermate delle bevande2Mostrare contenuti
Viste di testoNumeri nel testoFontColoriSF SymbolsRiepilogo - Etichetta del prezzo5Stato e pulsanti
PulsantiLa proprietà @StateStato vero o falsoViste condizionaliRiepilogo - SegnapuntiEsercitati da solo: Playground SwiftUI