Swift es un nuevo lenguaje de programacin para iOS y OS X de
desarrollo de aplicaciones. No obstante, muchas partes de Swift estarn familiari!adas desde su e"periencia en el desarrollo en # y Objective$#. Swift proporciona sus propias versiones de todos los tipos # fundamental y Objective$#, incluyendo %nt. para enteros& 'oble y flotador para los valores de punto flotante& (ool para valores booleanos& y de cadena para los datos te"tuales. Swift tambi)n ofrece versiones potentes de los dos tipos de recoleccin primaria, matri! y 'iccionario, como se describe en *ipos de coleccin. +l igual ,ue #, Swift utili!a variables para almacenar y hacer referencia a los valores por un nombre de identificacin. Swift tambi)n hace un amplio uso de variables cuyos valores no se pueden cambiar. -stos son conocidos como constantes, y son mucho ms poderosos ,ue las constantes en #. Las constantes se utili!an a lo largo Swift para ,ue el cdigo ms seguro y ms claro en la intencin cuando se trabaja con valores ,ue no deben cambiar. +dems de los tipos conocidos, Swift introduce tipos avan!ados ,ue no se encuentran en Objective$#. -stos incluyen tuplas, ,ue le permiten crear y pasar alrededor de grupos de valores. Las tuplas pueden devolver m.ltiples valores desde una funcin como un valor .nico compuesto. Swift tambi)n introduce tipos opcionales, ,ue se encargan de la ausencia de un valor. Opcionales dicen bien /no es un valor, y es igual a "/ o /no es un valor en absoluto./ Opcionales son similares al uso de nil con punteros en Objective$#, pero funcionan para cual,uier tipo, no slo a las clases. Opcionales son ms seguros y ms e"presivos ,ue los punteros nulos en Objective$# y estn en el cora!n de muchas de las caracter0sticas ms poderosas de Swift. Opcionales es un ejemplo del hecho de ,ue Swift es un lenguaje de tipo seguro. Swift ayuda a ser claro acerca de los tipos de valores ,ue el cdigo puede trabajar. Si parte de su cdigo espera una cadena, la seguridad de tipos le impide pasarlo un %nt por error. -sto le permite capturar y corregir los errores lo antes posible en el proceso de desarrollo. #onstantes y variables #onstantes y variables asocian un nombre 1como ma"imumNumberOfLogin+ttempts o 2elcome3essage4 con un valor de un tipo en particular 1como el n.mero 56 o la cadena /7ello/4. -l valor de una constante no se puede cambiar una ve! ,ue se establece, mientras ,ue una variable se puede establecer en un valor diferente en el futuro. $ 'eclaracin de constantes y variables #onstantes y variables deben ser declaradas antes de ser utili!adas. 8sted declara constantes con la palabra clave let y las variables con la palabra clave var. 7e a,u0 un ejemplo de cmo las constantes y las variables se pueden utili!ar para reali!ar el seguimiento del n.mero de intentos de inicio de sesin de un usuario ha hecho9 Este cdigo se puede leer como: "'eclarar una nueva constante llamada ma"imumNumberOfLogin+ttempts, y darle un valor de 56. -ntonces, declare una nueva variable llamada currentLogin+ttempt, y darle un valor inicial de 6." -n este ejemplo, el n.mero m"imo de intentos de inicio de sesin permitidos se declara como una constante, debido a ,ue el valor m"imo nunca cambia. -l contador de inicio de sesin actual intento se declara como una variable, ya ,ue este valor debe ser incrementado despu)s de cada intento fallido de login. Se pueden declarar varias constantes o variables m.ltiples en una sola l0nea, separados por comas9 $ -scriba anotaciones :uede proporcionar una anotacin de tipo cuando se declara una constante o variable, para ser claros sobre el tipo de valores ,ue la tienda puede constante o variable. -scribe una anotacin de tipo mediante la colocacin de dos puntos despu)s del nombre de la constante o variable, seguido por un espacio, seguido por el nombre del tipo de usar. -ste ejemplo proporciona una anotacin de tipo para una variable denominada 2elcome3essage, para indicar ,ue la variable puede almacenar valores de cadena9 Los dos puntos en la declaracin significa /... del tipo .../, por lo ,ue el cdigo anterior se puede leer como9 /'eclarar una variable llamada 2elcome3essage ,ue es de tipo String./ La frase /de tipo String/ significa /puede almacenar cual,uier valor de cadena./ :iense en ello como ,ue significa /el tipo de cosas/ 1o /el tipo de cosas/4 ,ue se puede almacenar. La variable 2elcome3essage ahora se puede establecer en cual,uier valor de cadena sin error9 $ #onstantes de denominacin y ;ariables 8sted puede utili!ar casi cual,uier carcter en el ,ue ,uieres constantes y variables nombres, incluyendo los caracteres 8nicode9