Continuando con los tipos de datos en el nuevo lenguaje de programación de Apple, en este artículo hablaremos de los conceptos alias de tipos y valores booleanos en Swift. Ambos conceptos son muy conocidos por la comunidad de desarrolladores y aquí veremos el tratamiento que les da Apple.
El primero de ellos es un concepto totalmente novedoso que aunque no aporta funcionalidad a nuestros desarrollos, va a permitir crear un código fuente más claro y legible tanto para nosotros como para las revisiones futuras de otros programadores. El segundo concepto, los valores booleanos, ya es un clásico en todos los lenguajes que conocemos hoy y nos va a permitir la construcción de sentencias condicionales de forma rápida y fácil.
Alias de tipos y datos booleanos en Swift
Los alias de tipos permiten asignar un nombre alternativo a un tipo de datos existente. En el lenguaje de programación Swift podremos definir alias para tipos de datos usando la palabra reservada typealias. Son útiles cuando queremos referirnos a un tipo de datos existente pero queremos usar un nombre más adecuado al contexto en el que nos encontramos, algo parecido a cuando trabajamos con datos de un tamaño específico provenientes de una fuente externa. Veamos un ejemplo de como declarar un alias:
typealias EjemploSonido = UInt16
Una vez que hemos definido el alias, en nuestro caso para el tipo de datos UInt16, podremos usarlo en cualquier parte de nuestro código en lugar de usar el nombre original del tipo de datos.
var amplitudMaxima = EjemploSonido.min
// la variable amplitudMaxima toma ahora el valor 0
Si analizamos las líneas anteriores, vemos que como EjemploSonido es un alias, la llamada al método EjemploSonido.min en realidad es una llamada al método min de UInt que proporciona el valor inicial 0 a la variable amplitudMaxima.
El lenguaje de programación Swift tiene un tipo de datos booleano denominado Bool. Los valores booleanos siempre son identificados como valores lógicos porque únicamente pueden ser verdadero (true) o falso (false). Veamos un ejemplo de declaración e inicialización de constantes:
let rosasSonRosas = true
let nabosSonDeliciosos = false
Los tipos de datos de las constantes rosasSonRosas y nabosSonDeliciosos del ejemplo anterior están siendo declarados de forma implícita como Bool al ser inicializados con valores booleanos. Al igual que ocurría con los tipos Double e Int que veíamos en el artículo Tipos de datos numéricos en Swift, no necesitamos declarar las constantes o variables como Bool (de forma explícita) si al crearlas las inicializamos como true o false. La inferencia de tipos ayuda ha escribir código en lenguaje Swift más conciso y legible cuando inicializamos constantes o variables con valores de tipos conocidos.
Como comentábamos al principio, los valores booleanos son muy útiles cuando trabajamos con sentencias condicionales como la sentencia if. Veamos otro ejemplo:
if nabosSonDeliciosos {
println(»Mmm, me gustan los nabos!»)
} else {
println(»Eww, los nabos son horribles.»)
}
// En este caso se mostrará en consola «Eww, los nabos son horribles.»
Los tipos seguros del lenguaje Swift impiden que valores no booleanos sean sustituidos por Bool. El siguiente ejemplo muestra un error en tiempo de compilación:
let i = 1
if i {
// este ejemplo no compilará y mostrará un error
}
Sin embargo, la alternativa siguiente es totalmente valida:
let i = 1
if i == 1 {
// este otro ejemplo compilará correctamente
}
El resultado de la comparación i == 1 es de tipo booleano, y por eso el segundo ejemplo pasa la validación de tipos del compilador de Swift. Como ocurre con otros tipos seguros en Swift, este enfoque previene errores accidentales y asegura una determinada sección de nuestro código sea siempre clara.
Hasta aquí el análisis de los alias de tipos y datos booleanos en Swift. Espero que os haya quedado claro pero como siempre si tenéis alguna duda podéis poneros en contacto conmigo a través de este formulario. Nos leemos en el próximo.
Adiós, os = true!!