Propiedades Almacenadas en Swift: Uso y Ejemplos Prácticos

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

Resumen

¿Qué son las propiedades en programación?

Las propiedades en programación son fundamentales para entender cómo funcionan las estructuras y las clases. En el mundo de la ingeniería de software, particularmente en lenguajes como Swift, las propiedades crean la base para almacenar y manipular datos. A menudo conocidas como "Properties," debido a su origen en el mundo CTO, estas variables pueden ser clasificadas en diferentes tipos.

¿Cuáles son las propiedades almacenadas o stored properties?

Las propiedades almacenadas, o "stored properties", son variables o constantes que se almacenan como parte de una instancia de clase o estructura. Son conocidas por su simplicidad, siendo esencialmente elementos que guardan valores directos. Estas propiedades pueden ser definidas usando var para variables y let para constantes.

struct FixedLengthRange {
    var firstValue: Int
    let length: Int
}

¿Cómo se utilizan las stored properties en Swift?

Para ilustrar su uso, consideremos un ejemplo práctico. Imaginemos que tenemos una estructura llamada FixedLengthRange. Dentro de esta estructura, definimos tanto una variable (firstValue) como una constante (length). Al crear una instancia de la estructura, inicializamos estos valores:

var rangeOfItems = FixedLengthRange(firstValue: 0, length: 3)

Después de la creación, podemos modificar la variable firstValue ya que es mutable:

rangeOfItems.firstValue = 6

Sin embargo, no podemos cambiar length, ya que fue declarado como una constante. Intentar modificarlo resultaría en un error.

¿Qué errores comunes podemos encontrar con las stored properties?

Uno de los errores más comunes al utilizar propiedades almacenadas ocurre cuando se intenta cambiar el valor de una propiedad de una instancia declarada como let. Incluso si la propiedad es una variable dentro de la estructura, la inmutabilidad de la instancia lo impide.

let range = FixedLengthRange(firstValue: 0, length: 4)
// Error al intentar modificar una propiedad en una instancia no mutable
range.firstValue = 6

Swift ayuda a detectar estos errores típicos al indicarnos que debemos cambiar let por var para permitir la modificación.

¿Dónde se utilizan las stored properties?

Las stored properties no solo se utilizan en estructuras, sino también en clases. Cada variable o constante definida dentro de una clase o estructura puede considerarse una stored property hasta que se exploren otros tipos de propiedades.

Por ejemplo, en clases, ya hemos explorado una clase llamada ViewModel que tenía varias stored properties para manejar su estado y funcionalidades.

En conclusión, las stored properties son un elemento esencial en la programación orientada a objetos. Su correcta definición y manejo es fundamental para construir aplicaciones eficientes y libres de errores. Como siempre, ¡sigue explorando y experimentando para profundizar en tu conocimiento!