Menu
Coddy logo textTech

Die @State-Eigenschaft

Teil des Abschnitts Einführung in SwiftUI der Swift-Journey von Coddy. Lektion 20 von 50.

Der Inhalt einer Ansicht wird aus ihren Daten neu berechnet. Damit sich Daten ändern können, markiere eine Eigenschaft mit @State. Wenn sich eine Zustands-Eigenschaft ändert, führt SwiftUI den Inhalt erneut aus und aktualisiert den Bildschirm:

struct ContentView: View {
    @State private var count = 0

    var body: some View {
        VStack {
            Text("Count: \(count)")
            Button("Add one") {
                count += 1
            }
        }
    }
}

Jeder Tipp führt count += 1 aus, und der Text zeigt die neue Zahl an. Du aktualisierst den Text nie selbst: Der Text wird anhand von count beschrieben und folgt daher dem Wert.

Eine einfache var in einer Ansicht kann nicht aus ihrem Body heraus geändert werden, weil Ansichten Structs sind. @State speichert den Wert außerhalb des Structs, sodass er jeden Neuzeichnungsvorgang überdauert. Markiere den Zustand als private: Er gehört zu dieser Ansicht.

challenge icon

Aufgabe

Einfach

Vervollständige den Tippzähler. Die Aktion der Schaltfläche ist leer: Lass jeden Tipp 1 zu taps addieren, sodass der Text nach einem Tipp Taps: 1 und nach zwei Tipps Taps: 2 lautet.

Probier es selbst

import SwiftUI

@main
struct CoddyApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Einführung in SwiftUI

Übe selbstständig: Swift-Playground