Menu
Coddy logo textTech

Qué son los opcionales

Parte de la sección Fundamentos del Journey de Swift de Coddy. Lección 11 de 86.

A veces una variable puede no tener ningún valor. En Swift, representamos la ausencia de un valor mediante los opcionales. Un opcional indica «hay un valor y es igual a x» o «no hay ningún valor».

Para declarar un opcional, añade un signo de interrogación ? después del tipo:

var nickname: String? = "Alex"
var age: Int? = nil

En el ejemplo anterior, nickname contiene el valor "Alex", mientras que age contiene nil: la forma de Swift de decir «sin valor». Las variables normales no pueden ser nil, pero los opcionales sí.

Piensa en un opcional como una caja que podría contener algo o estar vacía. Antes de usar lo que hay dentro, debes comprobar si realmente hay algo allí. Esta es una característica de seguridad clave de Swift que ayuda a evitar fallos causados por valores ausentes inesperados.

var score: Int? = 100
print(score) // Optional(100)

score = nil
print(score) // nil

Observa que cuando imprimes un opcional con un valor, muestra Optional(100) en lugar de simplemente 100. Para acceder al valor real que contiene, necesitas desenvolver el opcional, lo que veremos en las próximas lecciones.

challenge icon

Desafío

Fácil

Escribe una función createOptional que reciba un número y devuelva una cadena que muestre cómo se vería ese número al imprimirlo como un valor opcional.

Importante: esta función devuelve un String. Estás escribiendo texto que tiene el aspecto de un valor opcional; no estás devolviendo un valor opcional real.

Cuando imprimes un valor opcional que contiene un valor, Swift lo muestra con el formato Optional(value).

Recordatorio sobre la sintaxis de las funciones: en Swift, una función que devuelve un valor usa la flecha -> para especificar el tipo de retorno y la palabra clave return para devolver el resultado. Por ejemplo:

func myFunction(param: Int) -> String {<br>    return "result"<br>}

Puedes construir la cadena de retorno mediante interpolación de cadenas: "Optional(\(value))": la parte \(value) inserta el número directamente en la cadena.

Parámetros:

  • value (Int): El número que se envolverá en el formato opcional

Devuelve: Una cadena con el formato Optional(value), donde value es el número proporcionado.

Ejemplo: Si la entrada es 100, devuelve "Optional(100)"

Pruébalo tú mismo

func createOptional(value: Int) -> String {
    // Devuelve un String que parece un optional, no un optional real
    // Inserta el número entre los paréntesis usando interpolación de strings
    return "Optional()"
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos

Practica por tu cuenta: Playground de Swift