Aprende Swift 3

Nuevo estilo en la sintaxis de Swift

¡Prueba gratis durante 10 días

nuestros 1244 cursos !

Prueba gratis Mostrar modalidades de suscripción
El nuevo estilo en la sintaxis y la forma que ahora tiene Swift es muy elegante. Removieron algunas de las palabras que estaban de más dentro de los métodos e hicieron que la unión con librerías de Foundation fueran más sencillas.

Transcripción

Parte importante de los cambios que existen en Swift 3 fueron los cambios en cuanto a la sintaxis y acceso de métodos que ya teníamos definidos en Objective C. Estos métodos en realidad lo que hicieron fue acceder de una manera más clara y sencilla al API que ya nos expone QCAD 8 Foundation. Parte de estos cambios básicamente radican en cómo escribir y acceder a las funciones. Por ejemplo, antes nosotros podíamos escribir una función que tuviera un nombre parecido a "performWithName" y aquí escapábamos el primer parámetro, y poníamos "aName" de tipo "String" "andPassword". Y de esta manera nosotros ya podíamos escribir cuáles eran el nombre y el password de esta función para utilizarlo tendríamos que escribir "performWithName", le pasábamos el nombre y le pasabamos un password. Pero, ahora, ya no se ocupa de esta manera ¿Por qué? Porque hay muchas cosas que son obvias. Por ejemplo," performWithName", primero, la palabra "with" no tiene mucho sentido porque el compilador ya sabe que necesita parámetros, así que no podemos simplemente no colocarlos y tener que ser explícitos para decir que necesita parámetros esta función. Así que, el "with" no tiene mucho sentido. Luego, "Name"... name es más el nombre del parámetro que el nombre de la función. En Smalltalk y en Objective C tiene mucho sentido porque la diferencia entre los métodos radica en el nombre del método y no en los parámetros. Por otro lado, en Swift no es así. Si tú escribes un método con el mismo nombre pero con diferentes parámetros y tipos, es otro método, así que, nunca van a coincidir y nunca se van a sobrescribir. Y, por último, "andPassword" en realidad nos dice que es el último parámetro. Y, en algunos de los casos, dependiendo del orden que tú coloques los argumentos es como los va a seguir accediendo, así que no necesitas indicarle que es el último parámetro. Por esto, ya no se escribe de esta manera. Ahora, lo que tenemos que hacer es escribirlo de una manera más Swifty la manera más Swifty de poderlo lograr es colocar simplemente cuál es, digamos, el verbo o la acción a realizar y después pasarle el nombre de los parámetros. Si te fijas, a pesar de que yo tengo "perform" y tengo "name", y por otro lado tengo "perform email", en realidad existe una diferencia en donde estos dos métodos son completamente diferentes, aunque tengan el mismo nombre y el mismo tipo, con el simple hecho de que yo esté cambiando el nombre de los parámetros ya es otra función. Y también, si yo lo necesito, puedo escapar estos elementos para no tener que colocar todos los nombres de parámetros, si son muy obvios. Estas son partes de las cosas que ya cambiaron. También, hicieron una mejora en cuanto al acceso a los métodos de UIkit. Por ejemplo, antes nosotros podíamos hacer "UIColor.blackColor", y podíamos acceder a este método para poder obtener una instancia de UIColor, pero ahora ya no, ¿por qué? porque en realidad estás repitiendo la palabra color y en realidad quieres acceder a una funcionalidad de Swift llamada "Computer Properties". Así que, veamos. Ahora se escribe: "UIColor.black" o ".blue" o ".green". Y ya, de esta manera tú ya tienes el valor que necesitas como una instancia de UIColor. Por otro lado, puedes también querer utilizar métodos de Foundation y estos van a tener que cambiar en su forma de escribirse. Por ejemplo, yo aquí voy a tener una variable String y esta variable String en realidad quiero que STR... le quiero agregar algo, pero antes yo podía hacer: "appendAttributedString". Este método es completamente válido en Swift 2.3, y básicamente lo que está haciendo es agregar la cadena a nuestro String. Pero si te fijas, en realidad, también es muy repetitivo, ¿por qué?, porque ya sabe que estás haciendo un "Append" de un String con atributos. ¿Por qué no, simplemente. escribimos: "str.append"? Y si te fijas aquí ya recibe diferentes elementos, puede ser un caracter, una cadena o una secuencia. Así que veamos: "append"... le voy a pasar otra cadena. Voy a comentar esto, y si te fijas ya no se están agregando las letras extras a nuestra cadena. Esto simplemente lo hace para que tú tengas una API más funcional y muchísimo más sencilla de utilizar. Ahora, hay otro tipo de cambios que son más en cuanto a las bibliotecas hechas en C. Por ejemplo, tú antes podías utilizar "moveToPoint" y "addLineToPoint", y le pasabas el punto y con eso era más que suficiente para que tú trabajaras con ellas. Pero ahora ya no utilizamos esa forma de escribir funciones. Ahora, lo que hacemos es poder utilizar "move", y le decimos "to", y le pasamos el punto. Y le decimos "addLine" "to", y le pasamos el punto. de esta manera ya estamos haciendo una sintaxis un poco más Swifty, de una manera más elegante y corta para nosotros y nuestros compañeros de trabajo. También mejoraron muchísimo cómo vamos a trabajar con los objetos de C. Por ejemplo, nosotros podemos ya crear "CGRect", pues estas estructuras a partir de funciones como si fueran objetos de Swift. Le pasamos "X", "Y", ancho y alto y ya estamos, tenemos una estructura de CGRect. También podemos estar utilizando estas funciones como "offsetBy" para poder estar generando estructuras con cambios que nosotros necesitemos a los CGRects o a las estructuras, y estas estructuras son completamente válidas para todos los elementos y bibliotecas de C. Y también una de las mejoras hechas a C fue con el GCD. GCD que es esta biblioteca para poder acceder a multithreading, también se ha mejorado y tiene una sintaxis más orientada a objetos y a bloques. Esta sintaxis es más amigable, en la cual nosotros podemos generar de una clase, acceder a una propiedad y después de ejecutar un bloque se ve muchísimo mejor de cómo la teníamos hecha en C. El último cambio que hicieron fue básicamente generar una diferencia muy pequeña en los enumeradores. Por ejemplo, antes teníamos todas las opciones en "landscapeLeft" como, por ejemplo, en landscapeLeft la "L" es mayúscula, ahora, las enumeraciones van a empezar con minúsculas y van a tener CamelCase. Si llegas a tener algún problema con tu código y la sintaxis, no olvides simplemente cambiar las letras o tal vez cambiar la sintaxis de los métodos para poder acceder a estas nuevas APIs en Swift 3. Son cambios muy pequeños, muy sutiles, pero que en realidad afectan muchísimo a nuestro código. Si tú estás utilizando el asistente de migración puede ser que no tengas ningún problema con esto. Pero, lo único que si te sugiero es que si te llegas a atorar en algo, lo más importante es que veas la documentación y que te bases en estos ejemplos para que puedas solucionar tus Scripts.

Aprende Swift 3

Descubre Swift 3, la versión más actual del lenguaje de Apple; conoce todas sus novedades y aprende el lenguaje de código abierto desde cero para desarrollar tus aplicaciones.

3:14 horas (31 Videos)
Actualmente no hay comentarios.
 

Este curso video2brain está disponible como descarga y para ser visualizado online. ¡Pero no hace falta que decidas entre las dos opciones! Al comprar el curso, disfrutarás de ambas posibilidades.

La descarga te permite ver las lecciones sin estar conectado/a a internet y supone una navegación fácil y ágil entre capítulo y capítulo. Si vas a trabajar en diferentes ordenadores o si no quieres descargarte el curso completo, entra en la web con tus datos de acceso y disfruta directamente de tus vídeos online. Te deseamos que disfrutes de este curso y te resulte de mucha utilidad.

Estamos a tu disposición si tienes cualquier tipo de duda o pregunta.