Propiedades Almacenadas en Swift: Uso y Ejemplos Prácticos

Clase 5 de 27Curso de Programación Orientada a Objetos en Swift

Resumen

Aprende a dominar las propiedades en Swift con ejemplos claros y prácticos. Aquí verás qué son las stored properties, cómo declararlas con var y let, y cuándo puedes modificarlas según uses una struct o una clase. Claridad, buenas prácticas y errores comunes para evitar desde el principio.

¿Qué es una stored property en Swift?

Una stored property es la forma más simple de propiedad: una variable o constante almacenada dentro de una instancia de struct o clase. No existe en los enumerados. Por herencia del mundo de Objective C, es habitual llamarlas simplemente properties.

¿Dónde existen y dónde no?

  • Existen en estructuras y clases.
  • No existen en enumeraciones.
  • Se almacenan como parte del objeto instanciado.

¿Por qué se llaman properties y no “propiedades”?

  • Vienen de Objective C, donde se usaba @property.
  • Es común mantener el término properties en español técnico.
  • Cada tipo de property es distinto; aquí se trata de las stored properties.

¿Cómo se declaran y usan con var y let?

Se declaran con var (mutable) o let (inmutable). En struct, la mutabilidad depende tanto de la propiedad como de la instancia.

struct FixedLengthRange {
    var firstValue: Int      // stored property mutable
    let length: Int          // stored property inmutable
}

// Instancia variable: permite modificar propiedades mutables
var rangeOfThreeItems = FixedLengthRange(firstValue: 0, length: 3)
rangeOfThreeItems.firstValue = 6  // válido

// Instancia constante: no permite modificar ninguna propiedad, aunque sea var
let rangeOfFourItems = FixedLengthRange(firstValue: 0, length: 4)
// rangeOfFourItems.firstValue = 6  // error: no se puede modificar una propiedad en una instancia let

¿Qué pasa si la instancia es var?

  • Puedes cambiar las propiedades declaradas con var.
  • Las propiedades declaradas con let no pueden cambiarse.
  • Ejemplo: firstValue pasa de 0 a 6; length se mantiene en 3.

¿Qué pasa si la instancia es let?

  • No puedes modificar ninguna propiedad, ni siquiera las declaradas con var.
  • Es un error común cuando trabajas con struct inmutables.
  • Swift suele sugerir: cambia let por var si necesitas mutar.

¿Qué conceptos y habilidades clave debes retener?

Trabajar con stored properties sienta las bases para modelos de datos claros y seguros.

  • Diferencia esencial: stored properties son datos almacenados; las computed properties (se verán después) calculan valores bajo demanda.
  • Mutabilidad en struct: si la instancia es let, ninguna propiedad puede cambiarse.
  • Alcance: las properties están en struct y clases; no en enumeraciones.
  • Nombrado y contexto: el término properties viene de Objective C (@property) y es habitual en español técnico.
  • Ejemplo mental útil: recuerda la clase VideoMode con varias stored properties como referencia de uso en clases.

¿Te gustaría ver más ejemplos prácticos de mutabilidad en struct y clases en Swift? Comparte tus dudas o casos de uso en los comentarios.