Home » Noticias » Xcode 6 Beta 6 publicado, con nuevos pequeños retoques en Swift
Xcode 6 Beta 6

Xcode 6 Beta 6 publicado, con nuevos pequeños retoques en Swift

Nuevo lanzamiento de Apple en su camino hacia las versiones finales de iOS 8, OS X Yosemite y Xcode 6. En esta ocasión, un lanzamiento menor donde iOS no ha visto revisión para los desarrolladores (aunque sí para los operadores de telefonía) y sí lo ha hecho el sistema operativo de escritorio OS X Yosemite que publica la versión Preview 6, así como Xcode 6 que se actualiza a una nueva versión.

En multitud de blogs podéis ver cuáles son los nuevos cambios e incorporaciones del sistema, pero aquí, como siempre, podréis ver lo que nos interesa, que en este caso son los nuevos cambios en la especificación del nuevo lenguaje Swift.

Cambios menores en Swift

En esta ocasión no hay grandes cambios, más bien pequeños retoques que vienen a asentar la especificación del lenguaje y a depurar la dependencia que tenía el lenguaje sobre los opcionales implícitos. De esa forma, Apple ha hecho un repaso importante de todas sus APIs en un trabajo que ya empezó con la versión Beta 5, para reducir la dependencia de los opcionales implícitos descodificados (implicity unwrapped) de forma que aprovechando el cambio de especificación del tipo Boolean que ya comentamos en la versión Beta 5, permite preguntar directamente por nil.

De esta forma los tipos definidos como T! han sido sustituidos por T? o directamente por T, aprovechando la posibilidad de poder preguntar por nil en los casos que pudiera estar vacío en cuanto a valores (siendo nil un valor más que indica su condición de vacío).

No obstante, Apple nos advierte que si encontramos algún método o propiedad que está incorrectamente considerada como no aplicable a valor nil, usemos el siguiente ejemplo como parche hasta que este se arregle en futuras versiones:

Al nuevo operador ?? que se estrenó en la Beta 5, se le han añadido más interesantes funciones, solucionando algunos casos extraños donde la conversión a opcional de un valor era bastante confusa. Ahora la especificación queda de la siguiente forma:

De esta forma se permite usar patrones como var x = optional1 ?? optional2 ?? defaultValue independientemente que alguno de estos valores pueda ser nil y actuando como debería. Para ejemplificarlo, Apple ofrece el siguiente ejemplo:

Antes el resultado de a ?? b era nil ya que no entendía este como el valor vacío que es dentro del opcional. Ahora, en la nueva beta 6, el resultado de dicho patrón es 5 ya que ahora sí interpreta correctamente nil como un valor vacío y no como un valor concreto no vacío, como sucedía hasta ahora.

Otros cambios menores son los siguientes:

  • Las cadenas y caracteres han sido revisados según la especificación de Arrays, de forma que el operador + permite concatenar un carácter a una cadena, pero no añadir. De esta forma usar el + o el += entre una cadena y un carácter (o viceversa) o un Array más un elemento, ya no funciona. No obstantes las secuencias de caracteres o cadenas si pueden seguir uniéndose con el operador +.
  • Las APIs de C de tipo void ahora importan dicho tipo para clarificar el uso de estos. De esta forma UnsafeMutablePointer<()> pasaría a ser UnsafeMutablePointer<Void>.
  • El método hasValue ha desaparecido, de forma que a partir de ahora hay que preguntar directamente por nil para saber si una variable o propiedad tiene o no valor.

Seguiremos informando de los diferentes cambios mientras nos preparamos para el gran lanzamiento. Según los últimos rumores, el día 9 de septiembre podría presentarse el nuevo iPhone 6 lo que llevaría implícito que para finales de septiembre (a partir del 20 aproximadamente) podríamos ver la publicación de iOS 8 final para todo el público y de Xcode 6 final.

En principio, el 5 de septiembre es la fecha de aprobación de la actual iOS 8 Beta 6 que solo pueden probar operadores telefónicos asociados y, a partir de ahí, se publicaría la versión previa a final Golden Master que permitiría empezar a enviar las primeras apps para iOS 8 y codificadas en Swift a la App Store.

OS X Yosemite parece que tendría un ciclo beta algo más largo y no vería la luz hasta octubre donde Apple estaría preparando otro evento para los primeros días del mes con el fin de renovar los iPad, el iPod Touch, el Mac Pro, presentar algún producto más como el posible Apple TV con juegos y lanzar OS X Yosemite en su versión final.

Hasta entonces y como siempre, os deseamos un 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

Portada Vídeo News

Apple Coding News llega a YouTube

Los boletines de noticias de Apple Coding llegan a YouTube. Descúbrelos y disfruta la mejor forma de seguirnos y estar al día. La más completa. Una forma única de no solo oír las noticias del mundo del desarrollo como nadie más te las cuenta, también podrás descubrir todos los detalles detrás con el apoyo visual del formato que solo YouTube permite. Una nueva experiencia Apple Coding.