Artículos
-
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.
-
Generales
Generics I en Swift: funciones y tipos genéricos con type constraints
Aprende a escribir código Swift reutilizable con generics: funciones con type parameters, struct Stack genérico, type constraints con Comparable y Equatable, cláusulas where y por qué los generics no tienen coste en tiempo de ejecución.
-
Generales
Generics II en Swift: conditional conformance, where clauses y extensiones genéricas
Aprende conditional conformance en Swift: cómo hacer que un tipo genérico adopte un protocolo solo cuando sus parámetros lo permiten. Where clauses en extensiones, type erasure con AnyPublisher y primary associated types de Swift 5.7.
-
Generales
Opaque types en Swift: some Protocol el compilador sabe el tipo, el llamador no
Los opaque types de Swift permiten que el compilador conozca el tipo concreto devuelto por una función sin que el llamador lo vea. Aprende a usar some Protocol, some View en SwiftUI y some en parámetros.
-
Generales
Existential types en Swift: any Protocol cuándo usarlos y sus costes
Desde Swift 5.7, any Protocol es la forma obligatoria de declarar tipos existenciales. Aprende la diferencia entre some y any, el coste en rendimiento de los existentials y cuándo usar un genérico en su lugar.









