Home » Noticias » Apple cambia el lenguaje Swift en sus últimas betas
Noticias Swift

Apple cambia el lenguaje Swift en sus últimas betas

Apple avisó hace unos días que el 7 de julio realizaría una limpieza de los datos en iCloud Drive, Photo Library y Mail Drop. Como era lógico, eso antecedía que habría nuevas versiones de sus productos actualmente en beta y así ha sido. Apple lanzó la versión 3 de las betas de iOS y Xcode 6, así como la tercera developer preview de OS X Yosemite ese mismo día.

Pero además, ha aprovechado para hacer el primer pequeño gran cambio a Swift, su nuevo lenguaje de programación, desde su lanzamiento a primeros de junio. Por ese motivo, también han actualizado el libro “The Swift Programming Language” que tenéis en nuestra sección de Recursos de Programación y que podéis actualizar desde iBooks.

Cambios en colecciones y rangos

Los arrays, diccionarios y rangos ahora se crean, tipifican o usan de manera diferente, haciéndolo mucho más intuitivo y claro.

Antes, para tipificar un diccionario había que especificar el tipo y poner entre ángulos <> la clave, una coma y el valor. Ahora, simplemente hay que ponerlo entre corchetes separados, muy al estilo de los array, sin necesidad de mencionar la palabra clave Dictionary.

En cuanto a los arrays, la tipificación especificaba el uso de [] tras el tipo de dato, de forma que un array de String se tipificaba como String[]. Ahora, hay que meter el tipo entre corchetes, lo que lo hace más intuitivo. De esta forma, en vez String[] ahora es [String].

El tercer gran cambio es en cuanto a los rangos. Hasta ahora, un rango con … indicaba el rango completo: 1…4 es el recorrido completo del valor del 1 al 4. Mientras, .. era el rango menos el último de sus valores (rango – 1), de forma que 1..4 es los valores del 1 al 3.

Pero esta forma parece que provocaba confusión en los programadores, por lo que se ha actualizado el rango .. a ..< con lo que es más intuitivo entender a qué nos referimos con un solo vistazo de código. Ahora … es para un rango completo y ..< para un rango parcial en que no incluimos el último valor de dicho rango.

Otros pequeños cambios

Lo más importantes cambios en el lenguaje son los siguientes:

  • La mutabilidad de tipos es estricta, cosa que antes no era así. Un array, diccionario o cadena definidos como let (constante) serán inmutables estrictos y todos los elementos que contienen así mismo lo serán. Mientras, un var implica que son complemente mutables en contenido. De igual forma, cuando copiamos a un array un tipo que viene de Objective-C (un NSArray), lo que obtenemos es un copia completo del mismo.
  • Los diccionarios de Objective-C (los NSDictionary) ahora se importan a Swift con la especificación [NSObject : AnyObject] para los valores de clave y valor, de forma que es su tipificación inferida por defecto.
  • nil es ahora un literal específico del lenguaje y no una constante global del sistema de tipo Nil_, con lo que se solucionan muchos problemas de compatibilidad y rendimiento a la hora de trabajar con el dato vacío.
  • Las APIs deprecadas en iOS 7 y OS X 10.9, han sido eliminadas de Swift y ya no podrán usarse, por lo que hemos de tener en cuenta esto a la hora de trabajar con nuestro código.

Podéis ver un completo resumen de todos los cambios en las notas oficiales de la versión, con otros cambios como los referentes a tipos cuando se referencian APIs en C y más cosas.

Y recordad que nuestra Lección 1 de Swift, que precisamente trata de variables, constantes, inferencias y colecciones, está actualizada con todos estos cambios que podréis aplicar en Xcode 6 Beta 3. Good Apple Coding.

Acerca de Julio César Fernández

Analista, consultor y periodista tecnológico, desarrollador, empresario, productor audiovisual, actor de doblaje e ingeniero de vídeo y audio.

Otras recomendaciones

App Store Review Guidelines iOS 11

Cambios en las normas del App Store en iOS 11

Todos sabemos cómo son las normas del App Store (o deberíamos saberlas) y la importancia …