Artículos
-
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.
-
Generales
@MainActor en Swift: actualizar la UI desde código asíncrono de forma segura
@MainActor en Swift asegura que el código se ejecuta en el hilo principal. Aprende a anotar ViewModels completos, métodos individuales y a usar MainActor.run con ejemplos reales en SwiftUI y UIKit.
-
Generales
Sendable en Swift 6: seguridad de concurrencia en tiempo de compilación
Sendable es el protocolo de Swift que identifica qué tipos pueden pasarse con seguridad entre actores y tareas concurrentes. Swift 6 convierte los avisos en errores de compilación.
-
Generales
Macros en Swift 5.9: @Observable, #stringify y cómo definir las propias
Las macros de Swift 5.9 generan código verificado por el compilador. Aprende la diferencia entre freestanding (#stringify) y attached (@Observable), cómo expandir una macro en Xcode e implementa tu propia macro con SwiftSyntax.
-
Generales
Extensions en Swift: añadir funcionalidad sin subclasificar ni modificar el original
Las extensions de Swift te permiten añadir métodos, propiedades computadas, subscripts e inicializadores a cualquier tipo existente, incluidos los de la librería estándar. Aprende a dar implementaciones por defecto con protocol extensions.
-
Generales
Protocolos en Swift: definición, conformidad y protocol extensions
Los protocolos son el corazón del diseño en Swift: definen contratos que struct, class y enum adoptan implementando sus requisitos. Aprende a usar protocol extensions, composición y existentials con any.
-
Generales
Protocolos con associated types en Swift: PATs y cuándo son necesarios
Los PATs de Swift permiten que un protocolo declare sus propios tipos genéricos. Aprende qué son, cuándo los necesitas, cómo añadir restricciones con where y cómo usar opaque types para evitar el error can only be used as generic constraint.









