Artículos

  • 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.

  • Generales 0

    Protocol-Oriented Programming en Swift: composición en lugar de herencia

    Aprende qué es la Programación Orientada a Protocolos en Swift y por qué Apple la propuso en WWDC 2015 como alternativa a la herencia de clases. Ejemplos prácticos de protocol extensions, composición y testing con mocks.

  • Generales 0

    ARC en Swift: cómo funciona la gestión automática de memoria sin GC

    Cómo funciona ARC en Swift: el compilador inserta retain y release automáticamente para gestionar la memoria sin recolector de basura. Ciclo de vida de objetos y cómo evitar ciclos de retención con ejemplos reales.

  • Generales 0

    Retain cycles en Swift: strong, weak y unowned con ejemplos reales

    Cómo funcionan strong, weak y unowned en Swift para gestionar la memoria sin fugas. Ejemplos de retain cycles entre clases, capture lists en closures con [weak self] y [unowned self], y el delegate pattern con AnyObject.

  • Generales 0

    Memory safety en Swift: ownership, exclusivity y accesos en conflicto

    Swift detecta accesos en conflicto a memoria en compilación. Aprende cómo funciona la exclusivity rule, por qué pasar la misma variable dos veces como inout falla, y cómo los tipos ~Copyable con consuming y borrowing previenen bugs sin overhead en tiempo de ejecución.

  • Generales 0

    Control de acceso en Swift: open, public, internal, fileprivate y private

    Swift define cinco niveles de control de acceso: open, public, internal, fileprivate y private. Aprende cuándo usar cada uno, qué diferencia open de public y cómo diseñar APIs de librería siguiendo el principio de mínima exposición.

  • Generales 0

    Type casting en Swift: is, as?, as! y switch con tipos en pattern matching

    Aprende a usar is, as?, as! y as en Swift para verificar y convertir tipos en tiempo de ejecución. Pattern matching con switch sobre tipos, casting con Any y AnyObject, y por qué el polimorfismo suele ser mejor solución que el casting.

  • Generales 0

    Operadores avanzados en Swift: overflow, operadores bit a bit y operadores propios

    Overflow operators para evitar crashes por desbordamiento, operadores bit a bit y cómo definir operadores propios con precedencegroup en Swift 5.9. Con ejemplos de Vector2D y OptionSet.

  • Generales 0

    Swift en 2026: interoperabilidad con C++, embedded Swift y el futuro del lenguaje

    Swift en 2026 tiene tres frentes activos: interoperabilidad bidireccional con C++ sin Objective-C, Embedded Swift para microcontroladores sin runtime y consolidación en el servidor con Vapor y Hummingbird.