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
10:54 min - 12

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

Ciclo for en Swift para buscar datos
Viendo ahora - 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
Ciclo for en Swift para buscar datos
Resumen
El ciclo for en Swift te permite ejecutar un bloque de código por cada elemento de una secuencia, ya sea un rango numérico, una lista de nombres o incluso los caracteres de un string. Es la herramienta ideal cuando sabes que necesitas recorrer un conjunto de datos completo sin escribir condiciones manuales como en while.
¿Cuál es la estructura del ciclo for en Swift?
La sintaxis es directa y se lee casi como una frase en inglés. Empiezas con la palabra for, declaras una variable temporal, usas in y a continuación pones la secuencia a recorrer. Dentro de las llaves va el código que se ejecuta en cada iteración.
swift for numero in 1...10 { print("El número es (numero)") }
Esos tres puntos ... definen un rango cerrado entre dos números. La consola imprimirá del 1 al 10, exactamente como lo haría un while, pero con menos código. [01:00]
¿Cuándo uso for en lugar de while? Usa
forcuando ya conoces el conjunto o rango que vas a recorrer. Reservawhilepara cuando la repetición depende de una condición que cambia dinámicamente.
¿Cómo recorrer una lista de nombres con for?
El mismo patrón funciona con arreglos. Si tienes una lista de nombres y quieres procesarlos uno a uno, basta con apuntar el for a la lista.
swift for nombre in nombres { print("El nombre es (nombre)") }
La consola te devolverá cada nombre del arreglo, por ejemplo: Juan, Pedro y María. Este patrón sirve para cualquier colección que quieras recorrer, incluyendo sets y otros conjuntos de datos. [01:45]
¿Cómo buscar un nombre dentro de una lista?
Un caso muy común es verificar si un valor existe dentro de una colección. Para eso defines una variable nombreABuscar y agregas una validación dentro del ciclo.
swift let nombreABuscar = "Pedro" for nombre in nombres { if nombre == nombreABuscar { print("He encontrado a (nombre)") } }
Si el nombre coincide, imprime el mensaje. Si no existe en la lista, la consola simplemente queda vacía porque ninguna iteración cumple la condición. [02:30]
¿Cómo mejorar el algoritmo de búsqueda con una variable resultado?
Imprimir en cada iteración ensucia la consola. Lo más limpio es declarar una variable resultado antes del ciclo, asignarle el mensaje cuando encuentres coincidencia y, al final, decidir qué imprimir.
swift var resultado = "" for nombre in nombres { if nombre.lowercased() == nombreABuscar.lowercased() { resultado = "He encontrado a (nombre)" } }
if resultado.isEmpty { print("No he encontrado a nadie llamado (nombreABuscar)") } else { print(resultado) }
Aquí entran dos conceptos potentes. El primero es isEmpty, una propiedad que te dice si un string está vacío. Si el resultado sigue vacío después de recorrer toda la lista, significa que no hubo coincidencia. [04:30]
El segundo es lowercased(), una función que convierte cualquier string en minúsculas. Aplicarla a ambos lados de la comparación garantiza que la búsqueda no falle solo porque el usuario escribió "pedro" con minúscula y tu lista tiene "Pedro" con mayúscula. Esto mejora directamente la experiencia de usuario. [05:30]
¿Qué hace lowercased() en Swift? Convierte todos los caracteres de un string a minúsculas. Es ideal para comparaciones donde no importa si el texto está en mayúscula o minúscula.
¿Se puede recorrer un string letra por letra con for?
Sí, y es una de las capacidades más útiles del ciclo. Un string en Swift se comporta como una colección de caracteres, así que puedes iterar sobre cada letra.
swift let texto = "Hola, mi nombre es Juan" for letra in texto { print(letra) }
La consola imprimirá carácter por carácter. Esto te abre la puerta a tareas como buscar un símbolo específico, contar ocurrencias o validar el contenido de un campo de texto. [06:30]
¿Para qué sirve recorrer un string carácter por carácter? Sirve para contar letras, detectar símbolos, validar formatos o construir algoritmos de procesamiento de texto como contadores de vocales o filtros.
Reto: cuenta las vocales de una cadena
El reto consiste en escribir una función que reciba un string como parámetro y devuelva cuántas vocales contiene. Te dejo dos pistas que vienen directo del enunciado:
- Apóyate en una variable tipo string que liste todas las vocales en español, incluyendo tildes y mayúsculas.
- Revisa cómo funciona el método contains en los strings, porque te permite verificar si un carácter pertenece al conjunto de vocales.
La lógica que necesitas combinar ya la viste: un ciclo for que recorra letra por letra, una condición que evalúe si esa letra está dentro de tu string de vocales, y un contador que se incremente cuando haya coincidencia.
Cuéntame en los comentarios cómo resolviste el reto, qué variaciones probaste y si encontraste alguna forma más elegante de manejar las tildes.