Contenido del curso
Fundamentos de programación iOS
- 3

Variables, constantes y tipos de datos en Swift
18:55 min - 4

Condicionales en Swift con if y else
16:58 min - 5

Funciones en Swift con parámetros y return
10:37 min - 6

Variables opcionales en Swift
Viendo ahora - 7

Arrays en Swift: declara, accede e inserta
10:28 min - 8

Eliminar y buscar elementos en arrays Swift
05:41 min - 9

Sets en Swift: sin orden ni duplicados
07:14 min - 10

Operaciones entre sets en Swift
05:22 min - 11

Diccionarios en Swift para datos complejos
10:54 min - 12

Ciclo while en Swift desde cero
06:48 min - 13

Ciclo for en Swift para buscar datos
09:38 min - 14

Batalla Pokémon con while en Swift
10:45 min
POO en iOS
- 15

Qué es la programación orientada a objetos
06:56 min - 16

Creación de Structs en Swift para Gestión de Materias
11:16 min - 17

Herencia en Swift: class vs struct
13:27 min - 18

Uso de Enumerables (Enums) en Swift para Datos Limitados
09:27 min - 19

Protocolos en Swift como contratos de código
15:12 min - 20

map, filter y reduce con arreglos en Swift
10:53 min - 21

Prueba final del Students Manager en Swift
05:40 min
Manejo de errores y programación segura
Programación en el ecosistema de Apple
Variables opcionales en Swift
Resumen
En Swift puedes declarar variables que aceptan estar vacías o nulas, conocidas como variables opcionales. Esta característica resulta clave para escribir código seguro cuando un dato puede no existir en tiempo de ejecución, y aquí verás cómo declararlas, desempaquetarlas y evitar errores comunes al trabajar con ellas.
¿Cómo se declara una variable opcional en Swift?
Para declarar una variable opcional usas la palabra var, seguida del nombre, el tipo de dato y un signo de interrogación. Ese signo es el que indica que la variable puede contener un valor o ser nula.
swift var intOpcional: Int?
Si quitas el signo de interrogación, Xcode marca un error y te ofrece un fix automático para volver a agregarlo. Hay un detalle importante: estas variables deben definirse con var, no con let. Si las declaras como constante arrancando vacías, nunca podrás asignarles un valor después, y el propio Xcode te sugiere cambiar let a var para hacerla modificable [0:55].
Una vez declarada, puedes asignarle un valor más adelante en el programa, siempre respetando el tipo. Si la definiste como Int?, asignarle un 9.9 provocará un error porque estarías metiendo un double dentro de un entero.
¿Qué es una variable opcional en Swift? Es una variable que puede tener un valor del tipo declarado o estar vacía (nula). Se declara agregando un signo de interrogación después del tipo, por ejemplo
Int?.
¿Qué pasa al imprimir un opcional y cómo hacer unwrap?
Cuando imprimes una variable opcional sin más, la consola no muestra el número limpio. En su lugar verás algo como Optional(9), además de un warning del compilador [2:10].
Para obtener el valor real necesitas hacer unwrap, es decir, desenvolver el opcional. Esto se logra agregando un signo de admiración al final de la variable.
swift print(intOpcional!)
Con eso, el warning desaparece y la consola imprime el número como entero normal, listo para operar con él. Pero ojo: si haces unwrap de una variable que en ese momento es nula, el programa lanza un error que dice que no puede desempaquetar algo que es nil [2:55]. Por eso, antes de usar el !, debes asegurarte de que la variable tenga un valor distinto de nulo en algún punto del código.
¿Cómo evitar errores al desempaquetar un opcional?
Una forma elegante de prevenir crasheos es usar un valor por defecto con el operador ??. Funciona así: si el opcional es nulo, toma el valor que pongas a la derecha; si no, usa el valor real.
swift let value = intOpcional ?? 0 print(value)
Si intOpcional es nulo, value será 0. Si tiene un valor asignado, value reflejará ese número. Así te aseguras de que el programa no se rompa ni genere bugs por un dato faltante.
¿Cómo usar opcionales en funciones con validación?
Un caso típico es una función que recibe un parámetro opcional. Imagina una función saludar que recibe un nombre de tipo String?.
swift func saludar(nombre: String?) { if nombre != nil { print("Hola, (nombre!)") } else { print("Hola, humano") } }
La validación con if nombre != nil te permite hacer el unwrap con seguridad, porque ya confirmaste que el dato existe. En el else defines un saludo genérico para cuando no hay nombre. Si llamas saludar(nombre: nil) obtienes "Hola, humano"; si pasas "Tiago", te responde "Hola, Tiago" [5:30].
¿Qué es un operador ternario y cómo refactoriza el código?
El mismo comportamiento puede escribirse en una sola línea usando una operación ternaria. Es una condición que evalúa algo y asigna un valor u otro según se cumpla o no.
swift let saludo = nombre != nil ? "Hola, (nombre!)" : "Hola, humano" print(saludo)
La estructura es: condición, signo de interrogación, valor si se cumple, dos puntos, valor si no se cumple. Este tipo de cambio se llama refactor: tomar código que ya funciona y hacerlo más legible, corto o eficiente sin alterar su resultado [6:45].
¿Cuándo conviene usar un operador ternario? Cuando necesitas asignar uno de dos valores a una variable según una condición simple. Mejora la legibilidad frente a un
if/elsede varias líneas.
Reto para practicar opcionales en Swift
Para afianzar lo aprendido, intenta este ejercicio: crea una función que reciba dos parámetros de tipo Double? e imprima en consola la suma de ambos cuando sea posible. Si alguno de los dos es nulo, debe imprimir: "No tengo datos suficientes para una respuesta esclarecedora".
Algunas pistas que puedes aplicar:
- Valida primero que ambos parámetros sean distintos de
nil. - Usa unwrap solo después de la validación.
- Considera si te conviene un
if/elseo una operación ternaria.
Déjame en los comentarios cómo resolviste el reto, qué dificultades encontraste y qué enfoque elegiste.