Swift, valores nulos (nil).

En este tutorial explicamos cómo usar los valores nulos en Swift. Es posible declarar variables con valores nulos, o bien tomar un valor por default en caso de tener valores nulos.

En Swift, el valor nulo se escribe con la palabra “nil” en lugar de “null”, como se acostumbra en otros lenguajes.

Valor nulo Swift (?)

Resumen valores nulos en Swift.

¿Qué significa el signo de interrogación (?) en una variable, Swift?

Significa que esa variable puede tener un valor nulo, evitando un error si su valor es nulo. Se declara así:

var palabra :String? = nil

¿Qué significa el doble signo de interrogación (??) en una variable, Swift?

Nos ayuda a dar un valor a una variable en caso de que esta sea nula. La sintaxis es la siguiente:

var palabra :String? = nil
print(palabra ?? “Es nulo”)                          ##Imprime: Es nulo.

En cambio, si damos otro valor a la variable:

var palabra :String? = nil
palabra = “Hola”
print(palabra ?? “Es nulo”)                          ##Imprime: Hola

Como declarar una variable con valor nulo en Swift (?)

No es tan sencillo como igualar la variable a “nil”, sino necesitamos agregar un signo de interrogación, de la siguiente manera.

var numero :int? = nil
var n2 :int = nil

El signo de interrogación indica que la variable numero puede tener un valor nulo.

Mientras que la variable n2, no puede tener un valor nulo y marcará un error en caso de que sea nulo.

Si hay valor nulo usar valor por default (??) Swift.

Si queremos tener un valor por default, cuando una variable sea nula. Podemos hacerlo de varias maneras, pero una de las más sencillas es la siguiente.

var numero :int? = nil
print(numero ?? 10)       ##Imprime: 10

El código anterior imprime el número 10.

Los signos de interrogación “??” y el 10 a un lado, indican que si la variable número tiene un valor nulo, entonces debe de valer 10.

Eso puede ser muy útil al momento de usar editores de texto en la aplicación, si el usuario no escribe nada, tendrán un valor nulo, pero con la sintaxis anterior podemos hacer que tome un valor por default.

var numero :int? = nil
numero = 7
print(numero ?? 10)       ##Imprime: 7

En el código anterior comprobamos si la variable no tiene un valor nulo, imprime el valor de la variable.

El código anterior nos facilita mucho la vida. Además que nos ahorra varias líneas de código.

Ya que lo anterior lo podemos hacer usando un if(), que también es algo sencillo, pero con más líneas de código.

Puedes ver el tutorial de como declarar variables en Swift.