Menu
Coddy logo textTech

La propiedad @State

Parte de la sección Introducción a SwiftUI del Journey de Swift de Coddy. Lección 20 de 50.

El cuerpo de una vista se vuelve a calcular a partir de sus datos. Para tener datos que cambien, marca una propiedad con @State. Cuando cambia una propiedad de estado, SwiftUI vuelve a ejecutar el cuerpo y actualiza la pantalla:

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

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

Cada toque ejecuta count += 1, y el texto muestra el nuevo número. Nunca actualizas el texto tú mismo: el texto se describe en términos de count, por lo que sigue el valor.

Una var simple en una vista no se puede cambiar desde su cuerpo, porque las vistas son estructuras. @State almacena el valor fuera de la estructura para que sobreviva a cada redibujado. Marca el estado como private: pertenece a esta vista.

challenge icon

Desafío

Fácil

Termina el contador de toques. La acción del botón está vacía: haz que cada toque sume 1 a taps, de modo que el texto muestre Taps: 1 después de un toque y Taps: 2 después de dos.

Pruébalo tú mismo

import SwiftUI

@main
struct CoddyApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Introducción a SwiftUI

Practica por tu cuenta: Playground de Swift