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
09:29 min - 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
Viendo ahora - 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
Diccionarios en Swift para datos complejos
Resumen
Cuando trabajas con datos simples como un string o un número, basta con una variable. Pero al modelar entidades reales en Swift, como un producto de una tienda virtual, necesitas algo más potente: los diccionarios o mapas, una estructura que asocia llaves con valores y te permite organizar información compleja sin perder claridad.
¿Qué es un diccionario en Swift y para qué sirve?
Un diccionario en Swift es una colección de pares llave-valor que te permite acceder a la información usando una etiqueta descriptiva en lugar de un índice numérico. Piensa en un producto de e-commerce: no basta con su nombre, también necesitas precio, stock, descripción, reseñas y más. Un mapa te deja agrupar todo eso en una sola variable.
¿Cuál es la diferencia entre un arreglo y un diccionario en Swift? El arreglo guarda valores en orden y los accedes por índice numérico. El diccionario los guarda por llaves descriptivas como
nombreoprecio, lo que hace la lectura más clara cuando trabajas con entidades.
Cómo declarar un mapa con tipos mixtos
La sintaxis básica usa corchetes y dos puntos entre la llave y el valor [00:53]. Si todos los valores son del mismo tipo, Swift lo infiere. Pero si mezclas strings, números y booleanos, necesitas declarar explícitamente el tipo con [String: Any], donde Any indica que el valor puede ser de cualquier tipo [02:13].
swift var producto: [String: Any] = [ "id": 1, "nombre": "PC Lenovo", "precio": 1000, "stock": 10, "promocion": true ]
Fíjate en algo importante: cada par va separado por coma y la llave casi siempre es de tipo string, porque describe semánticamente la propiedad.
¿Cómo accedo a los valores de un diccionario en Swift?
Para obtener un valor, usas el nombre de la variable seguido de la llave entre corchetes. Por ejemplo, producto["nombre"] devuelve PC Lenovo, pero te lo entrega como opcional porque Swift no garantiza que esa llave exista [03:38].
Si declaraste el diccionario con valores Any, además debes hacer un cast al tipo concreto usando la palabra clave as. Aquí entra el unwrap que viste en la clase de opcionales:
swift var nombre = producto["nombre"] as! String print(nombre) // PC Lenovo
El operador as! le dice al compilador: confío plenamente en que este valor es un string. Si te equivocas con el tipo, la app crashea, así que úsalo solo cuando estés seguro.
Cómo agregar nuevas llaves a un diccionario
Agregar propiedades es directo: asignas un valor a una llave que aún no existe y Swift la crea por ti [04:32]. Imagina que llega un requerimiento nuevo y necesitas guardar la calificación del producto.
swift producto["calificacion"] = 5
Al imprimir el producto, verás la nueva llave junto con las anteriores. No necesitas redeclarar nada.
¿Cómo modifico o elimino valores en un mapa de Swift?
Modificar valores funciona con la misma notación que usas para crearlos. Si tu producto pasó de tener un stock de 10 a una sola unidad y la gerencia decide subir el precio de 1000 a 2000 dólares, basta con reasignar [05:21]:
swift producto["stock"] = 1 producto["precio"] = 2000
Para eliminar elementos tienes tres caminos según lo que necesites:
producto.removeValue(forKey: "promocion")elimina una llave específica.producto["stock"] = niltambién borra la llave asignándole valor nulo.producto.removeAll()vacía el diccionario completo y te deja un mapa sin llaves ni valores [06:42].
¿Qué hace
removeValueen un diccionario de Swift? Borra el par llave-valor que le indiques y devuelve el valor eliminado. Es la forma explícita y segura de quitar una propiedad sin afectar el resto del mapa.
Reto: cantidad de habitantes por país
Para cerrar, ponte a prueba con esta función. Tienes un diccionario [String: Int] donde la llave es el nombre del país y el valor es su cantidad de habitantes. Crea una función getHabitantesPorPais que reciba un país como parámetro y devuelva el mensaje: "En [país] hay [cantidad] habitantes".
Si el país no existe en el diccionario, debe retornar: "No tengo datos suficientes para una respuesta esclarecedora". Como pista, investiga cómo combinar las propiedades keys y contains para validar la existencia de la llave antes de acceder a su valor.
Cuéntame en los comentarios cómo lo resolviste y qué dificultades encontraste.