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, es posible que una variable no tenga ningún valor. En Swift, representamos la ausencia de un valor usando optionals. Un optional dice "hay un valor y es igual a x" o "no hay ningún valor en absoluto".

Para declarar un optional, 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 que tiene Swift de decir "sin valor". Las variables normales no pueden ser nil, pero los opcionales sí pueden.

Piensa en un opcional como una caja que puede contener algo o puede estar vacía. Antes de usar lo que hay dentro, necesitas comprobar si realmente hay algo allí. Esta es una función de seguridad clave en Swift que ayuda a prevenir fallos por valores faltantes no esperados.

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

score = nil
print(score) // nil

Observa que cuando imprimes un optional con un valor, muestra Optional(100) en lugar de solo 100. Para acceder al valor real en su interior, necesitas desempaquetar el optional, lo cual cubriremos en las próximas lecciones.

challenge icon

Desafío

Fácil

Escribe una función createOptional que tome un número y devuelva un string que muestre cómo se vería ese número al imprimirse como un opcional.

Importante: esta función devuelve un String. Estás escribiendo texto que se parece a un opcional, no estás devolviendo un valor opcional real.

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

Recordatorio de sintaxis de 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 enviar de vuelta el resultado. Por ejemplo:

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

Puedes construir el string de retorno usando interpolación de strings: "Optional(\(value))" — la parte \(value) inserta el número directamente dentro del string.

Parámetros:

  • value (Int): El número a envolver en formato opcional

Devuelve: Un string 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