Menu
Coddy logo textTech

Właściwość @State

Część sekcji Wprowadzenie do SwiftUI ścieżki Swift w Coddy. Lekcja 20 z 50.

Widok jest obliczany ponownie na podstawie swoich danych. Aby mieć zmieniające się dane, oznacz właściwość za pomocą @State. Gdy właściwość stanu się zmienia, SwiftUI ponownie uruchamia body i aktualizuje ekran:

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

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

Każde stuknięcie wykonuje count += 1, a tekst pokazuje nową liczbę. Nie aktualizujesz tekstu samodzielnie: tekst jest opisany w odniesieniu do count, więc podąża za wartością.

Zwykłej zmiennej var w widoku nie można zmienić z jego treści, ponieważ widoki są strukturami. @State przechowuje wartość poza strukturą, dzięki czemu zachowuje ją przy każdym ponownym rysowaniu. Oznacz stan jako private: należy on do tego widoku.

challenge icon

Wyzwanie

Łatwy

Ukończ licznik stuknięć. Akcja przycisku jest pusta: spraw, by każde stuknięcie dodawało 1 do taps, tak aby po jednym stuknięciu tekst wyświetlał Taps: 1, a po dwóch Taps: 2.

Spróbuj swoich sił

import SwiftUI

@main
struct CoddyApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Wprowadzenie do SwiftUI

Poćwicz samodzielnie: Edytor online SwiftUI