-

🚨 El sistema clásico de NotificationCenter tiene un problema grave: incluso cuando especificas .main como cola, el compilador no puede verificar la seguridad entre hilos. El dominio de aislamiento permanece como nonisolated, lo que genera advertencias del compilador cuando intentas llamar métodos aislados a @MainActor. 🎯 iOS 26 y Swift 6.2 introducen MainActorMessage y AsyncMessage,…
-

Swift como código abierto cumple 10 años: de proyecto Apple a ecosistema multiplataforma
-

🎯 iOS 26 marca un antes y un después para los desarrolladores UIKit. Apple ha integrado el framework Observation directamente en el ciclo de vida de UIKit, permitiendo que las vistas se actualicen automáticamente cuando cambian las propiedades de objetos marcados con @Observable. 📝 Hasta ahora, mantener la interfaz sincronizada con los datos en UIKit…
-

🌍 La realidad multilingüe es más compleja de lo que pensamos. Un desarrollador en Toronto programa en inglés, lee documentación técnica en inglés, pero consume noticias en español y escribe a su familia en francés. 🔍 El problema es que las apps tradicionales los obligan a navegar listas alfabéticas de cientos de idiomas o conformarse…
-

🚀 SwiftTesting llegó en WWDC24 con una de las funcionalidades más esperadas: los tests parametrizados. En lugar de escribir múltiples tests casi idénticos, podemos ejecutar un solo test con diferentes argumentos automáticamente. ⚠️ Sin embargo, la conveniencia de parametrizar puede llevarnos a cometer errores sutiles que comprometen la calidad de nuestras pruebas. Migrar decenas de…
-

🔄 Cuando escribes for item in lista, el compilador pone en marcha toda una jerarquía de protocolos que trabajan en segundo plano. Lo que parece una simple iteración es en realidad un sistema elegante basado en Sequence e IteratorProtocol. 🎯 En Swift, Sequence es el protocolo base que permite iterar sobre una colección de elementos. Su…
-

🔒 Garantizar seguridad entre hilos es uno de los retos más complejos en desarrollo iOS. Un simple diccionario compartido puede provocar condiciones de carrera, crashes o estados corruptos si varios hilos escriben y leen simultáneamente sin la sincronización adecuada. ⚙️ La solución clásica con GCD usa colas concurrentes con lecturas síncronas y escrituras asíncronas. Pero…
-

🧩 Uno de los aspectos más complejos de la concurrencia en Swift es hacer que tipos aislados a actores conformen protocolos que no fueron diseñados con concurrencia. 🎯 El problema es común: tienes un tipo marcado con @MainActor que necesita conformar Equatable, Codable o cualquier otro protocolo estándar. ⚠️ Aparece el temido error: Conformance crosses…
-

🎯 Aunque parecen similares, estos tres componentes nativos de SwiftUI tienen propósitos completamente distintos. Elegir el correcto marca la diferencia entre una interfaz intuitiva y una confusa. 📊 Gauge es para mostrar valores medidos dentro de un rango. Introducido en iOS 16, es ideal para representar temperatura, nivel de batería o uso de CPU. A…
-

🧠 El modelo on-device de Apple Intelligence opera con una ventana de contexto fija de 4096 tokens por sesión. Esto incluye todas las instrucciones, prompts y respuestas generadas durante la conversación. Cuando se supera este límite, la app lanza un error exceededContextWindowSize que puede interrumpir completamente la experiencia del usuario. ⚡ Un token no es…
