Swift, variables y constantes - Desarrolladores iOS: Desde Objective-C hasta Swift

Blog sobre Optimizacion Avanzado y Desarrolladores iOS: Desde Objective-C hasta Swift en Argentina

Para comenzar a explorar Swift lo que necesitas es descargar XCode 6 de la App Store y crear una zona de juegos para experimentar. Todos los ejemplos que se mencionan a continuacion fueron realizados de ésta manera.

El sitio web de Apple Swift es la mejor referencia para aprender sobre programación Swift. Verás que es muy valiosa, y hasta que estés completamente al día con el desarrollo Swift Creo que visitaras el sitio con frecuencia.

Variables y Constantes

Para declarar una variable en Swift se usa la palabra clave var.

var x = 1var s = "Hello"

Notarás que las dos variables s y x son de diferentes tipos. x es un Número Entero, mientras que “s” es una Cadena de Caracteres. Swift es un tipo de lenguaje seguro y deducirá los tipos de variables del valor asignado. Si deseas que tu código sea más legible, puedes anotar opcionalmente el tipo de variable:

var y: Inty = 2

Las constantes son similares pero se declaran usando let en lugar de var. No es necesario saber el valor de una constante al momento de la compilación pero debes asignarle un valor exactamente una vez.

let c1 = 1 // Constante conocida al momento de la compilación var v = arc4random()let c2 = v // Constante conocida solo en momento de ejecución

Como su nombre lo indica, son inmutables, por esto el siguiente código causará un error al momento de compilación.

let c = 1c = 3 // error

Otros tipos también pueden ser declarados como constantes. Por ejemplo, el siguiente código declara una matriz como una constante y, si intentas modificar cualquiera de los elementos, el compilador Swift reportará un error:

var arr2 = [4, 5, 6]arr2[0] = 8print (arr2) // [8, 5, 6] let arr = [1, 2, 3]a[0] = 5 // error

 

Opcionales

Es necesario inicializar las constantes cuando se están declarando, al igual que es necesario inicializar las variables antes de usarlas. Así que, ¿dónde está el equivalente nil de Objective-C? Swift introduce valores opcionales. Los valores opcionales pueden tener un valor o ser nil. Si observas el siguiente código, vas a notar que x fue asignada como valor Opcional de 2014. Esto significa que el compilador Swift sabía que x podría ser nil.

var s = "2014"var x = s.toInt()print(x) // Optional(2014)

Si haces un cambio en éste código y asignas el valor "abc" a s, el cual no se puede convertir a un número entero, vas a notar que x es ahora un nil.

var s = "abc"var x = s.toInt()print(x) // nil

¿El tipo de retorno de la función toInt() es Int?, el cual es un Int opcional. Vamos a tratar de llamar a una función estándar en x:

var x = "2014".toInt()print(x.successor()) // error

El compilador señala un error, ya que x es un opcional y podría ser potencialmente nil. Debemos probar x primero, y asegurarnos de que la función sucessor sea invocada en un número real, y no en un valor nil:

var x = "2014".toInt()if x != nil{print(x!.successor()) // 2015}

Ten en cuenta que debemos desenvolver x añadiendo un signo de exclamación (!). Cuando nos aseguramos que x contiene un valor, podemos acceder a él. De lo contrario, obtendremos un error de ejecución. También podemos hacer lo que Swift llama optional binding, convirtiendo así lo opcional a una variable no-opcional

let x = "123".toInt()if let y = x{print(y)}

El código de la instrucción if solo se ejecutará si x tiene un valor, y es asignada a y. Ten en cuenta que no necesitamos desenvolver y, su tipo no opcional, ya que sabemos que x no es nil.

Revisa el tutorial Swift de Apple donde podrás leer en detalle sobre opcionales e interesantes características 

Visitar articulo completo sobre Desarrolladores iOS: Desde Objective-C hasta Swift

Comparte tu opinion o comenta

Cuenta tu opinion o amplia el contenido del articulo
Enviado por khadim hussain 04/11/2019
http://www.aiobjectives.com worldwide.Technology, especially artificial intelligence has made our lives really easy. From the general apps to Alexa in our houses technology has seeped in even without us realizing when this happened. Here is a quick view of future where AI will have significant role in each phase of our life.Android is a mobile operating system based on a modified version of the Linux kernel and other open source software, designed primarily for touchscreen mobile devices such as smartphones and tablets. ... These apps are licensed by manufacturers of Android devices certified under imposed by Google
Enviado por khadim hussain 04/11/2019
http://www.aiobjectives.com worldwide.Technology, especially artificial intelligence has made our lives really easy. From the general apps to Alexa in our houses technology has seeped in even without us realizing when this happened. Here is a quick view of future where AI will have significant role in each phase of our life.Android is a mobile operating system based on a modified version of the Linux kernel and other open source software, designed primarily for touchscreen mobile devices such as smartphones and tablets. ... These apps are licensed by manufacturers of Android devices certified under imposed by Google