Propiedades y Subscripts
Use propiedades almacenadas lazy, propiedades calculadas con get/set, observers de propiedades y subscripts para crear índices personalizados.
Propiedades y Subscripts es una lección gratuita de Swift Academy en CoddyKit. Esta es la lección 1 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.
Introducción
Esta lección aborda las propiedades avanzadas: lazy, propiedades calculadas con get/set, observadores y subscripts personalizados.
Propiedad lazy
Las propiedades lazy se crean solo al acceder a ellas por primera vez. Son útiles para operaciones costosas.
struct DataLoader {
lazy var data: [Int] = {
print("Loading...")
return [1,2,3]
}()
}
var loader = DataLoader()
print("before access")
print(loader.data)Get/set calculado
Las propiedades calculadas usan bloques get/set para calcular o actualizar valores.
struct Circle {
var radius: Double
var diameter: Double {
get { return radius * 2 }
set { radius = newValue / 2 }
}
}
var c = Circle(radius: 5)
print(c.diameter) // 10
c.diameter = 20
print(c.radius) // 10Observadores
Use willSet y didSet para reaccionar a los cambios en las propiedades.
class Account {
var balance: Double = 0 {
willSet { print("Will set to", newValue) }
didSet { print("Did set from", oldValue) }
}
}
var a = Account()
a.balance = 50Subscript
Los subscripts permiten definir un acceso personalizado con la sintaxis de corchetes.
struct TimesTable {
let multiplier: Int
subscript(i: Int) -> Int {
return multiplier * i
}
}
let three = TimesTable(multiplier: 3)
print(three[4]) // 12Subscript con varios parámetros
Los subscripts pueden recibir varios parámetros, por ejemplo, una matriz con índices de fila y columna.
struct Matrix {
var grid: [[Int]]
subscript(row: Int, col: Int) -> Int {
return grid[row][col]
}
}
let m = Matrix(grid:[[1,2],[3,4]])
print(m[1,0]) // 3Pregunta sobre lazy
Comprobación rápida: ¿Qué hace la palabra clave lazy?
Resumen
Resumen: Use lazy para inicialización diferida, get/set para propiedades calculadas, willSet/didSet para observar cambios y subscripts para accesos personalizados.
Preguntas frecuentes
¿La lección «Propiedades y Subscripts» es gratis?
Sí — el texto completo de «Propiedades y Subscripts» 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 y Subscripts»?
Use propiedades almacenadas lazy, propiedades calculadas con get/set, observers de propiedades y subscripts para crear índices personalizados. 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 1 de 4.
¿Cuánto tiempo toma la lección «Propiedades y Subscripts»?
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
- Propiedades y Subscripts
- lazy y observers de propiedades
- Propiedades calculadas con get/set
- Subscripts para índices personalizados