El flujo de control en Swift es fundamental para dirigir la ejecución de tu código basado en condiciones y repeticiones. En esta sección, aprenderás a utilizar las estructuras de control más comunes: condicionales y bucles.
- Condicionales
if
y else
La estructura if
permite ejecutar un bloque de código si una condición es verdadera. Puedes agregar una cláusula else
para ejecutar otro bloque si la condición es falsa.
Sintaxis:
if condición { // Código a ejecutar si la condición es verdadera } else { // Código a ejecutar si la condición es falsa }
Ejemplo:
else if
Puedes encadenar múltiples condiciones usando else if
.
Sintaxis:
if condición1 { // Código a ejecutar si condición1 es verdadera } else if condición2 { // Código a ejecutar si condición2 es verdadera } else { // Código a ejecutar si ninguna condición es verdadera }
Ejemplo:
let temperatura = 25 if temperatura > 30 { print("Hace mucho calor.") } else if temperatura < 10 { print("Hace mucho frío.") } else { print("El clima es agradable.") }
switch
El switch
es útil para comparar un valor contra múltiples posibles casos.
Sintaxis:
switch valor { case valor1: // Código a ejecutar si valor es igual a valor1 case valor2: // Código a ejecutar si valor es igual a valor2 default: // Código a ejecutar si valor no coincide con ningún caso }
Ejemplo:
let calificación = "B" switch calificación { case "A": print("Excelente") case "B": print("Bueno") case "C": print("Suficiente") default: print("Calificación no reconocida") }
- Bucles
for-in
El bucle for-in
se utiliza para iterar sobre secuencias como rangos, arrays, diccionarios, etc.
Sintaxis:
Ejemplo:
while
El bucle while
ejecuta un bloque de código mientras una condición sea verdadera.
Sintaxis:
Ejemplo:
repeat-while
El bucle repeat-while
es similar al while
, pero garantiza que el bloque de código se ejecute al menos una vez.
Sintaxis:
Ejemplo:
Ejercicios Prácticos
Ejercicio 1: Condicionales
Escribe un programa que determine si un número es positivo, negativo o cero.
Solución:
let numero = -3 if numero > 0 { print("El número es positivo.") } else if numero < 0 { print("El número es negativo.") } else { print("El número es cero.") }
Ejercicio 2: Bucles
Escribe un programa que imprima los números del 1 al 10 usando un bucle for-in
.
Solución:
Ejercicio 3: switch
Escribe un programa que determine el tipo de día de la semana basado en un número (1 para Lunes, 2 para Martes, etc.).
Solución:
let dia = 3 switch dia { case 1: print("Lunes") case 2: print("Martes") case 3: print("Miércoles") case 4: print("Jueves") case 5: print("Viernes") case 6: print("Sábado") case 7: print("Domingo") default: print("Número de día no válido") }
Resumen
En esta sección, aprendiste sobre las estructuras de control en Swift, incluyendo condicionales (if
, else if
, else
, switch
) y bucles (for-in
, while
, repeat-while
). Estas herramientas son esenciales para dirigir el flujo de tu programa basado en condiciones y repeticiones. Practica estos conceptos con los ejercicios proporcionados para reforzar tu comprensión. En el próximo módulo, exploraremos funciones y closures en Swift.
Dominar Xcode: De Principiante a Avanzado
Módulo 1: Introducción a Xcode
- Comenzando con Xcode
- Entendiendo la Interfaz de Xcode
- Creando Tu Primer Proyecto en Xcode
- Navegación Básica en Xcode
Módulo 2: Conceptos Básicos de Swift en Xcode
- Introducción a la Programación en Swift
- Variables y Constantes
- Tipos de Datos y Operadores
- Flujo de Control
- Funciones y Closures
Módulo 3: Construcción de Interfaces de Usuario
- Introducción a Interface Builder
- Diseñando con Storyboards
- Auto Layout y Restricciones
- Usando Previews de Xcode
- Creación de Componentes de UI Personalizados
Módulo 4: Trabajando con Datos
Módulo 5: Depuración y Pruebas
- Conceptos Básicos de Depuración
- Uso de Puntos de Interrupción
- Pruebas Unitarias
- Pruebas de UI
- Pruebas de Rendimiento
Módulo 6: Funciones Avanzadas de Xcode
- Uso de Instruments para Optimización de Rendimiento
- Técnicas Avanzadas de Depuración
- Configuraciones de Compilación Personalizadas
- Scripting con Xcode
- Integración con Sistemas de Integración Continua
Módulo 7: Despliegue de Aplicaciones
- Preparación para la Subida a la App Store
- Creación de Capturas de Pantalla para la App Store
- Gestión de Metadatos de la App Store
- Subiendo Tu Aplicación
- Mejores Prácticas Post-Subida