¿Qué pasó con mis “for” estilo C en Swift 3?

Ayer Apple anunció en el WWDC la disponibilidad de Xcode 8 beta para los desarrolladores y con ella Swift 3.

Si has tenido un tiempo de probar algún código escrito con una versión anterior de Swift es probable que hayas encontrado algunos errores inesperados, inesperados si no has estado al tanto de la evolución de Swift por estos meses.

Creo que los errores más comunes que nos vamos a encontrar en código viejo, cuando migremos a Swift 3, son las cosas que iban a marcarse obsoletas para esta versión. Una de ellas es la sintaxis del for estilo C.

for estilo C

Ya desde la versión 2.2 de Swift, Xcode nos venía alertando que esta sintaxis iba a ponerse obsoleta en versiones futuras. Si aún tienes instalado Xcode 7.x puede probarlo en un Playground:

Xcode alertando sobre for estilo C
Xcode alertando sobre for estilo C

Si hacemos la misma prueba en Xcode 8, podemos ver que ya no nos alerta sino que nos muestra un error:

Xcode 8 mostrando error con for estilo C
Xcode 8 mostrando error con for estilo C

Si hacemos click en el ícono de error, Playground nos sugiere cómo arreglar este error, como vemos en la próxima figura:

Sugerencia de Playground
Sugerencia de Playground

La alternativa, es utilizar for-in, para el caso del ejemplo podemos utilizar rangos tal como nos sugiere Playgrounds:

for-in con rangos
Xcode alertando sobre for estilo C

La propuesta aprobada la puedes encontrar en el repositorio de Swift Programming Language Evolution.

Bonus: ++ y —

En el primer ejemplo, utilizamos como parte del for el operador ++, el cual junto con han sido marcados como obsoletos en Swift 3 y al igual que el for generan error en la versión 3 y alertas en la versión 2.2. La propuesta aceptada la puedes encontrar aquí.

Siempre es recomendable estar al tanto de los cambios que vienen en el lenguaje de programación que utilizamos y así poder estar preparados, sobre todo en un lenguaje joven como Swift. Por lo que recomiendo echarle un vistazo a las propuestas de cambios.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s