Menu
Coddy logo textTech

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.

challenge icon

Sfida

Facile

Completa 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()
        }
    }
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Introduzione a SwiftUI

Esercitati da solo: Playground SwiftUI