0Pricing
Swift Academy · Lección

Propiedades almacenadas y observadores de propiedades

Aprenda a utilizar los observadores didSet y willSet para reaccionar a los cambios en las propiedades.

Propiedades almacenadas y observadores de propiedades es una lección gratuita de Swift Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Swift Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Swift Academy incluye 4 lecciones en total.

Bienvenida

Las propiedades almacenadas contienen valores dentro de una struct o class. Los observadores de propiedades — `willSet` y `didSet` — le permiten reaccionar cuando cambia el valor de una propiedad almacenada.

Propiedades almacenadas

```swift struct Counter { var count: Int = 0 // stored, mutable let name: String // stored, immutable } ``` Cada valor que asigna con `let` o `var` dentro de un tipo es una propiedad almacenada.

Observador didSet

```swift struct Gauge { var level: Int = 0 { didSet { print("Changed from \(oldValue) to \(level)") } } } var g = Gauge() g.level = 5 // "Changed from 0 to 5" ``` `oldValue` es el valor anterior que se proporciona automáticamente.

Observador willSet

```swift struct Slider { var value: Double = 0.5 { willSet { print("About to change to \(newValue)") } } } ``` `newValue` es el valor entrante que se proporciona automáticamente. `willSet` se ejecuta antes de la asignación.

Ambos observadores juntos

```swift var temperature: Double = 20 { willSet { print("Will become \(newValue)") } didSet { print("Was \(oldValue)") } } temperature = 25 // Will become 25.0 // Was 20.0 ```

Limitar valores con didSet

```swift var volume: Int = 50 { didSet { if volume > 100 { volume = 100 } if volume < 0 { volume = 0 } } } volume = 150 // clamped to 100 ``` Un patrón limpio para aplicar invariantes automáticamente.

Observadores en subclases

Los observadores de propiedades también funcionan con propiedades heredadas: ```swift class Base { var x: Int = 0 } class Child: Base { override var x: Int { didSet { print("x changed to \(x)") } } } ```

Los observadores no se ejecutan durante init

```swift struct Model { var value: Int = 0 { didSet { print("changed") } } init(v: Int) { self.value = v } // does NOT trigger didSet } ``` Los observadores no se activan durante la asignación inicial en `init`.

Almacenadas frente a calculadas: distinción rápida

• Almacenada: `var x: Int = 0` — contiene almacenamiento real • Calculada: `var doubled: Int { x * 2 }` — se obtiene al acceder a ella, sin almacenamiento • Observador: asociado a una propiedad almacenada; reacciona a los cambios No se pueden añadir observadores a propiedades calculadas (ya tienen `get`/`set`).

Nota sobre el rendimiento

Los observadores de propiedades añaden el coste de una llamada a función en cada escritura. Para escrituras de alta frecuencia (por ejemplo, la física del ciclo de juego), considere usar una propiedad almacenada normal y llamar explícitamente a la lógica de actualización para mejorar el rendimiento.

Comprobación rápida

¿Qué observador de propiedades permite acceder al valor **anterior**?

Repaso

Conceptos clave: • Las propiedades almacenadas contienen los valores directamente • `willSet` se ejecuta antes de almacenar el nuevo valor; se proporciona `newValue` • `didSet` se ejecuta después; se proporciona `oldValue` • Los observadores no se ejecutan durante `init` • Son ideales para efectos secundarios como actualizar la interfaz, registrar información y validar Siguiente: propiedades calculadas.

Preguntas frecuentes

¿La lección «Propiedades almacenadas y observadores de propiedades» es gratis?

Sí — el texto completo de «Propiedades almacenadas y observadores de propiedades» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Swift Academy, actualiza a CoddyKit PRO. El curso de Swift Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Propiedades almacenadas y observadores de propiedades»?

Aprenda a utilizar los observadores didSet y willSet para reaccionar a los cambios en las propiedades. Practicas Swift Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Swift Academy?

No se requiere experiencia previa. Swift Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Propiedades almacenadas y observadores de propiedades»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Swift Academy?

Sí. Cada lección de Swift Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Inicializadores memberwise e inicializadores personalizados
  2. Propiedades almacenadas y observadores de propiedades
  3. Propiedades calculadas en structs
  4. Métodos mutating y semántica de copia al escribir
← Volver a Swift Academy