La propriété @State
Fait partie de la section Introduction à SwiftUI du Journey Swift de Coddy. Leçon 20 sur 50.
Le corps d’une vue est recalculé à partir de ses données. Pour avoir des données qui changent, marquez une propriété avec @State. Lorsqu’une propriété d’état change, SwiftUI exécute à nouveau le corps et met à jour l’écran :
struct ContentView: View {
@State private var count = 0
var body: some View {
VStack {
Text("Count: \(count)")
Button("Add one") {
count += 1
}
}
}
}Chaque appui exécute count += 1, et le texte affiche le nouveau nombre. Vous ne mettez jamais vous-même le texte à jour : le texte est décrit en fonction de count, il suit donc la valeur.
Un var simple dans une vue ne peut pas être modifié depuis son corps, car les vues sont des structures. @State stocke la valeur en dehors de la structure afin qu’elle survive à chaque nouveau rendu. Marquez l’état comme private : il appartient à cette vue.
Défi
FacileTermine le compteur de tapotements. L’action du bouton est vide : fais en sorte que chaque tapotement ajoute 1 à taps, afin que le texte affiche Taps: 1 après un tapotement et Taps: 2 après deux.
Essayez vous-même
import SwiftUI
@main
struct CoddyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Introduction à SwiftUI
4Modificateurs
Marge intérieureArrière-plansOrdre des modificateursCadres et formesRécapitulatif - Créateur de badges2Afficher du contenu
Vues de texteNombres dans le textePolicesCouleursSymboles SFRécapitulatif - Étiquette de prix5État et boutons
BoutonsLa propriété @StateÉtat vrai ou fauxVues conditionnellesRécapitulatif - Compteur de scoreEntraînez-vous par vous-même : Playground Swift