Artículos
-
Generales
Desinicialización en Swift: deinit y gestión de recursos antes de la liberación
Aprende a usar deinit en Swift para liberar recursos antes de que ARC destruya una instancia de clase: cierre de FileHandle, observadores de NotificationCenter, descriptores POSIX y orden de llamada en herencia. Solo las clases tienen deinit, no los structs.
-
Generales
Optional binding en Swift: if let, guard let, while let y el nuevo if let taquigráfico
Aprende optional binding en Swift con ejemplos reales: if let, guard let, while let y el shorthand de Swift 5.7. Cómo encadenar múltiples bindings, cuándo usar guard let frente a if let, y por qué evitar el forced unwrap.
-
Generales
Optional chaining en Swift: encadenar accesos opcionales sin if let anidados
Aprende a encadenar accesos opcionales en Swift con ?. sin if let anidados. Propiedades, métodos, subscripts y múltiples niveles: cuando cualquier eslabón es nil, el resultado es nil. Con ejemplos progresivos y los errores más comunes.
-
Generales
Manejo de errores en Swift: throws, try, catch y el protocolo Error
Aprende a gestionar errores en Swift con throws, try, catch y el protocolo Error. Cómo funcionan do-catch, try?, try! y rethrows con ejemplos reales de un modelo de pedidos.
-
Generales
Result
en Swift: cuándo usarlo en lugar de throws Result es el enum de Swift para representar éxito o error sin usar throws. Aprende cuándo Result es mejor que throws: closures asíncronas, callbacks de URLSession y ficheros, composición con map y flatMap.
-
Generales
Typed throws en Swift 6: errores con tipo concreto en lugar de any Error
Swift 6 introduce los typed throws (SE-0413): puedes declarar el tipo exacto de error que lanza una función. El bloque catch recibe el tipo directamente, sin cast manual. Incluye throws(Never), uso en genéricos y casos prácticos con código real.
-
Generales
defer en Swift: código que siempre se ejecuta al salir del scope
Aprende a usar defer en Swift para ejecutar código de limpieza al salir de un scope, sea por return, throw o fin de bloque. Con ejemplos reales de ficheros, locks, logging y SQLite.
-
Generales
async/await en Swift: cómo funcionan las funciones asíncronas
Aprende cómo funciona async/await en Swift desde la versión 5.5: cómo declarar funciones asíncronas con async throws, suspender sin bloquear el hilo con await, lanzar tareas en paralelo con async let y convertir callbacks antiguos con withCheckedContinuation.
-
Generales
async let y TaskGroup en Swift: paralelismo real con structured concurrency
Aprende a usar async let y TaskGroup en Swift para lanzar tareas en paralelo con structured concurrency. Cuándo elegir cada opción, cómo funciona la cancelación automática y el error más común: mutar estado compartido desde las tareas.
-
Generales
Actors en Swift: aislamiento de datos entre tareas concurrentes
Los actors en Swift son tipos de referencia cuyo estado el compilador protege frente a accesos concurrentes. Acceder desde fuera requiere await. Aprende a usar nonisolated, isolated parameters y cuándo elegir actor sobre Mutex.









