Opcionales en Swift

Al momento de declarar una variable o constante en Swift es necesario asignarle un valor y gracias al valor Swift toma el tipo de dato implícitamente, en nuestro código este valor puede asignarse o no a la variable, dependiendo de las condiciones. Por tanto, los Opcionales en Swift fueron introducidos. Swift propone este nuevo tipo de dato para indicar de manera efectiva la ausencia de un valor para cualquier tipo de dato sin necesidad de tener constantes especiales.

Antes de comenzar te recomiendo que abras tu Playground. Si no sabes que es, te recomiendo leas este artículo sobre Playground en xCode.

Identificando los Opcionales en Swift

En el siguiente ejemplo voy a declarar una constante (véase Variables y Constantes en Swift) con un tipo de dato String de manera Opcional y según una condición de dare o no un valor. Para declarar la constante String como Opcional, simplemente hay que agregar un “?” al final del tipo de dato que será Opcional. Observa los dos bloques de código.

Basicamente, si el dato que se le asigna a la variable miVariable no es el tipo de dato que espera o no recibe un valor como tal, entonces miVariable es igual a nil (o en otros lenguajes, null).

Ahora, pongamos atención en el valor que se le asignar cuando la condición es falsa. El valor de miVariable es Opcional(“miCondicion es falsa!”), como se puede notar el tipo de dato resultante de la asignación del valor a miVariable no es String, es Opcional. A simple vista, esto es lógico, pero debemos de tener muy en cuenta de que si queremos, por ejemplo, concatenar esta variable con otra variable de tipo String, vamos a tener un error ya que miVariable no es un String, es Opcional.

Para resolver esto existe otro concepto en Swift llamado…

Unwrapping

Unwrapping, o desenvolviendo, es un método que utiliza Swift para que una vez asignado el valor de una variable opcional se pueda extraer el dato como el tipo de dato especificado, que en el caso del ejemplo anterior sería String.

Así como para declarar una variable como opcional se le agrega un signo de interrogación, para extraer el valor con el tipo de dato correspondiente se le agrega a la variable el signo de admiración (!), como un “dame el dato!“. Veamos como funciona.

Como puedes notar, cuando la linea print(miVariable!) se ejecuta, se imprime como un String, y esto, precisamente es lo que queríamos hacer. Extraer el valor con el tipo de dato correspondiente.

Podemos simplificar el código utilizando otro concepto que Swift introduce que se llama…

Optional binding

Optional binding consiste en hacer evaluar con un control de flujo el valor de, en este caso, miVariable para mostrar en pantalla el texto deseado. Por ejemplo:

Los Opcionales no solo se aplican a String, si no, a cualquier tipo de dato e incluso a elementos gráficos (lo veremos más adelante).

Gracias por leer!

Hasta aquí con los Opcionales en Swift, espero este artículo te sea de mucha ayuda. Si tienes algún comentario o duda no te detengas a escribirla en la sección de comentarios. Saludos 🙂

One thought on “Opcionales en Swift

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Imagen CAPTCHA