Declaraciones condicionales Swift if else, switch case

Video thumbnail

Cuando empiezas a desarrollar aplicaciones iOS con Swift, uno de los primeros conceptos que necesitas dominar son los condicionales. Gracias a ellos, tu aplicación puede tomar decisiones y ejecutar diferentes bloques de código según se cumpla o no una condición determinada.

En Swift, las estructuras condicionales son claras, estrictas y muy orientadas a evitar errores, algo que se agradece mucho cuando estás aprendiendo o construyendo lógica más compleja en una app real.

Nos quedamos en el uso de funciones en Swift.

Qué son los condicionales en Swift y para qué se usan

Un condicional es una estructura de control que permite ejecutar código solo si se cumple una condición. Esa condición siempre se evalúa como un valor booleano (true o false).

Para mi, sin exagerar y siento un poco sarcastico, los condicionales son LO MEJOR de la programación, al permitir ejecutar esto o aquello en base a una condición

En el día a día del desarrollo iOS, los condicionales se usan constantemente, por ejemplo para:

  • Validar datos introducidos por el usuario.
  • Mostrar u ocultar vistas.
  • Comprobar estados (login, permisos, errores).
  • Tomar decisiones según valores numéricos o textos.

La estructura if en Swift (con ejemplos simples)

La estructura condicional más básica en Swift es if. Su sintaxis es muy limpia:

var myVar = true
if myVar {
   print("Hola Mundo")
}

Si la condición (myVar) es true, el código dentro del bloque se ejecuta. Si es false, simplemente se ignora.

Cuando empecé con Swift, entender que una condición se puede leer literalmente como “si esto es verdadero, entonces ejecuta este código” me ayudó muchísimo a perderle el miedo a la lógica.

Uso obligatorio de llaves y buenas prácticas

  • Una buena práctica (y en Swift una obligación) es utilizar llaves {} para englobar el código que se ejecutará cuando la condición se cumpla. A diferencia de otros lenguajes, Swift no permite omitirlas, lo cual reduce errores y mejora la legibilidad.

Este detalle parece pequeño, pero cuando empiezas a escribir condicionales más complejos, tener siempre bloques bien delimitados hace que el código sea mucho más fácil de entender y mantener.

var myVar = true

if myVar {
    print("Hola Mundo")
}

Como comentamos antes, las llaves son obligatorio en Swift y en cualquier tipo de estructura que vayamos a emplear.

if else en Swift: qué pasa cuando la condición no se cumple

Muchas veces no basta con ejecutar código cuando la condición es verdadera. También necesitamos definir qué ocurre cuando no se cumple. Para eso usamos else.

Ya que la condición que la puedes leer como, "si myVar es true entonces..." y es aquí en donde ejecutas el código que define el condicional, en el ejemplo anterior vez el mensaje por pantalla ya que la condición es verdadera: para evaluar las condiciones puedes emplear cualquiera de los métodos de comparación que vimos anteriormente.

También puedes emplear los if..else para ejecutar código cuando la condición es falsa: en específico se emplea es el else:

var myVar = true

if myVar {
    print("myVar es verdad")
} else {
    print("myVar es falso")
}

Aquí el flujo es claro:

  • Si myVar es true, se ejecuta el primer bloque.
  • Si es false, se ejecuta el bloque else.

Este patrón es muy común en validaciones y mensajes al usuario.

Operadores de comparación y operadores lógicos en Swift

Para construir condiciones, Swift ofrece operadores de comparación:

  • > mayor que
  • < menor que
  • >= mayor o igual
  • <= menor o igual
  • == igual
  • != distinto

Ejemplo sencillo:

if numero > 22 {
   print("número es mayor a 22")
}

AND (&&), OR (||) y NOT (!)

También puedes combinar condiciones usando operadores lógicos:

  • && (AND): ambas condiciones deben ser verdaderas.
  • || (OR): basta con que una sea verdadera.
  • ! (NOT): niega el valor booleano.
if assistance && (eximido || nota >= 8) {
   print("Pasaste el examen")
}


Entender bien la precedencia de estos operadores y usar paréntesis cuando es necesario evita muchos errores difíciles de detectar.

Flujos de condicionales

Vamos a ver unos ejemplos de el funcionamiento de los condicionales; por ejemplo queremos ejecutar la siguiente impresión cuando la variable numero es mayor a 22:

var numero = 24

if numero > 22 {
    print("número es mayor a 22")
}

En esta oportunidad al ejecutar el código va a mostrar el texto que dice:

número es mayor a 22

Pero si cambiamos el valor de la variable numero de 24 por 14 y ejecutamos:

var numero = 14

if numero > 22 {
    print("número es mayor a 22")
}

No aparecerá nada: y debemos de notificar a nuestro usuario que el valor es mayor a 25; para eso podemos emplear los else:

Y en esta oportunidad el código si se ejecuta e imprime que "número es menor o igual a 22".

var numero = 14

if numero > 22 {
    print("número es mayor a 22")
} else {
    print("número es menor o igual a 22")
}

Condiciones más completas: if anidados y switch

Los if se pueden anidar cuando necesitas evaluar condiciones dentro de otras condiciones. Aunque es válido, conviene usarlos con cuidado para no complicar demasiado el flujo del programa.

Si notas que estás anidando muchos if, suele ser una señal de que podrías simplificar la lógica o usar un switch.

Ahora, que pasa si queremos evaluar más de una condición, o mejor dichos, queremos evaluar múltiples condiciones, supongamos que queremos evaluar si el número es igual a 10, a 20, a 30 y así, esto continua; pudiéramos emplear el siguiente condicional:

var numero = 10

if numero == 10 {
    print("número es igual a 10")
} else if numero == 20  {
    print("número es igual a 20")
} else if numero == 30 {
    print("número es igual a 30")
}

Aunque esto como ves, se puede poner algo enredado, podemos emplear otra estructura de control que nos funciona mejor para estos casos que se conoce como los switch:

var numero = 10

switch numero {
    case 10:
        print("número es mayor a 10")
    case 20:
        print("número es mayor a 10")
    case 30:
        print("número es mayor a 10")
    case 40:
        print("número es mayor a 10")
    case 50:
        print("número es mayor a 10")
    default:
        print("número es mayor a 10")
}

Y le tenemos que dar un caso por defecto de manera obligatoria, de tal manera que siempre la estructura del switch debe de ejecutarse.

Casos múltiples, rangos y default obligatorio

En Swift, el default es obligatorio, lo que garantiza que el switch siempre tenga un camino de ejecución.

Además, puedes usar rangos:

let nota: Double = 4.5
switch nota {
case 0...2:
   print("Reprobado")
case 2...2.9:
   print("Estuvo cerca")
case 3...3.9:
   print("Aprobado")
case 4...5:
   print("Excelente")
default:
   print("Nota inválida")
}

Este tipo de lógica es mucho más clara que varios else if encadenados.

Operador ternario en Swift: qué es y cuándo conviene usarlo

El operador ternario es una forma corta de escribir un if else simple:

let driverLicense = true
driverLicense ? print("Driver's Seat") : print("Passenger's Seat")

Es útil para asignaciones rápidas, pero en mi experiencia conviene usarlo solo cuando la condición es muy clara. Si no, la legibilidad sufre.

Errores comunes al usar condicionales en Swift

Algunos errores típicos cuando estás empezando:

  • Usar = en lugar de == para comparar.
  • Crear condiciones demasiado complejas sin paréntesis.
  • Abusar de if anidados.
  • No elegir switch cuando es la mejor opción.

Evitar estos fallos desde el inicio hace que tu código sea más limpio y profesional.

Conclusión y próximos pasos en Swift

Los condicionales en Swift son la base para crear aplicaciones iOS inteligentes y dinámicas. Dominar if, else, else if, switch y los operadores lógicos te permitirá escribir código más claro, seguro y fácil de mantener.

A partir de aquí, el siguiente paso natural es combinar estas estructuras con funciones, arrays y opciones (optional), donde los condicionales se vuelven todavía más importantes.

Siguiente paso, aprende a usar los ciclos o bucles en Swift: for in y while

Acepto recibir anuncios de interes sobre este Blog.

Aprende a usar condicionales en Swift paso a paso. Domina if, else, switch y operadores lógicos con ejemplos claros para empezar en iOS.

| 👤 Andrés Cruz

🇺🇸 In english