Artículos

  • Generales 0

    @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 0

    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 0

    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 0

    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 0

    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 0

    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 0

    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 0

    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 0

    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 0

    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.