Home » Noticias » Apple publica Xcode 6 Beta 4 y más cambios en Swift
Xcode 6 Beta 4

Apple publica Xcode 6 Beta 4 y más cambios en Swift

Como algunos habían predicho, el 21 de julio ha sido el día elegido por Apple para publicar la cuarta versión beta de sus sistemas operativos de escritorio y móvil, además de su herramienta de desarrollo Xcode. Y además, Apple ha aprovechado nuevamente para actualizar el lenguaje Swift, cosa que ya hizo en la versión Beta 3 y ahora vuelve a hacer, avisando lógicamente que no será la última vez.

Cambios en Swift

Como ya sabemos, Swift es un lenguaje que no está terminado y que sigue cambiando y adaptando su estructura e instrucciones. En la anterior Beta 3 de Xcode 6 se introdujeron importantes cambios en rangos o formas de definir los arrays y diccionarios y ahora los cambios son dos importantes. El primero es el control de acceso a entidades, que se definen tres: público, privado e interno.

Todas las funciones, componentes o variables se declaran por defecto de tipo internal, de forma que pueden ser vistas dentro de su propio ámbito de actuación (por ejemplo, una función de una clase que puede ser invocada por la propia clase) pero no puede verse fuera de este. Es decir, pueden verse siempre que el objetivo sea referenciado, sea o no su fichero.

Para que una entidad pueda ser vista fuera del contexto de ella misma e independientemente del fichero, ha de antecederse la palabra public que permite de esta forma que las funciones propias de una clase o una entidad puedan ser invocadas externamente a esta y desde cualquier fichero.

La última opción private impide que nadie, salvo el propio contexto de la entidad, pueda acceder a la misma en manera alguna. Por ejemplo, en un fichero, solo las entidades de dicho fichero pueden acceder a ella.

Apple lo ilustra con el siguiente ejemplo:

En caso que generemos un framework, por su propia definición, solo las entidades marcadas como public se mostrarán en el fichero de implementación del propio framework.

En cuanto a rangos, la función .by() que permite recorrer un rango con saltos en el mismo (no recorriendo los valores de uno en uno) ha cambiado por una nueva función strider que además es una función con definición completa y no como sub-función de un rango.

Aparte, tenemos los siguientes cambios reseñables, dejando de lado algunos demasiado específicos de la estructura interna del lenguaje:

  • Las funciones dentro de los Strings uppercaseString y lowercaseString que permitían convertir una cadena en mayúsculas o minúsculas, dejan de ser propiedades y se convierten en función. De esta forma, ahora hay que llamar a cadena = uppercaseString(cadena) para convertir una en mayúsculas.
  • Los valores internos de trabajo de los array desaparecen para evitar que su funcionamiento interno esté expuesto, al igual que al hacer un reverse de un array lo devolverá tal cual y no en modo lazy como hasta ahora.
  • La función interactiva de Swift REPL (Read-Eval-Print-Loop) ahora soporta toda la especificación del lenguaje, de forma que podemos trabajar desde línea de comandos con el lenguaje.
  • CGFloat ahora usará un flotante de 32 bits o de 64, en función de la arquitectura de compilación de manera automática.
  • Las variables CString desaparecen del lenguaje. Cualquier valor const char * ahora se importa como un tipo ConstUnsafePointer mientras que las macros de C que extienden cadenas se importan directamente como tipo String.

Es complicado, como podéis comprobar, el hecho que el lenguaje vaya cambiando y adaptándose, lo que nos obliga a todos los consultores del mismo a ir actualizándonos en tiempo real y re-escribiendo cualquier material que ya tuviéramos publicado. Pero es el precio que hay que pagar por querer estar a la última.

Os seguiremos informando y hasta entonces, 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 …

  • Se agradecen estos post la verdad. Seguid así.

    • Julio César Fernández

      Muchas gracias por el comentario y agradecimiento. Seguiremos así 🙂