certmundo.
es‑mx

6 min de lectura

¿Cómo usar variables y constantes en Swift?

Las variables y constantes son espacios en memoria donde tu app guarda información mientras se ejecuta.

En Swift, toda información que tu app necesita recordar —un precio, un nombre, una cantidad— vive en una variable o constante. Entender la diferencia entre ambas es el primer paso para escribir código limpio y sin errores.

Variables vs. constantes: la diferencia clave

Una variable puede cambiar de valor después de declararse. Una constante nunca cambia después de asignarse.

Swift usa dos palabras clave para declararlas:

  • var → variable (valor modificable)
  • let → constante (valor fijo)

Esta distinción no es solo estilo. Xcode te advertirá si declaras algo con var y nunca lo cambias. Esa advertencia te invita a usar let en su lugar.

Sintaxis básica

La estructura de una declaración en Swift sigue este patrón:

var nombreDeVariable: Tipo = valorInicial
let nombreDeConstante: Tipo = valorFijo

Swift también tiene inferencia de tipos. Si asignas un valor en la misma línea, Swift detecta el tipo automáticamente:

var precio = 299.0       // Swift infiere Double
let nombreTienda = "Liverpool"   // Swift infiere String
var unidades = 5         // Swift infiere Int

No siempre necesitas escribir el tipo manualmente. Úsalo solo cuando necesites mayor claridad o cuando declares una variable sin valor inicial.

Tipos de datos más usados en iOS

Tipo Descripción Ejemplo
Int Número entero 42, -10, 0
Double Número decimal 19.99, 3.14
String Texto "Bimbo", "CDMX"
Bool Verdadero o falso true, false

Estos cuatro tipos cubren la mayoría de los casos en una app básica para iPhone.

Ejemplos prácticos con contexto mexicano

Ejemplo 1: Precio de un producto en Liverpool

Imagina que construyes una pantalla que muestra el precio de un artículo.

let nombreProducto: String = "Cafetera digital"
var precioProducto: Double = 1299.0
var descuento: Double = 150.0

precioProducto = precioProducto - descuento

print("Producto: \(nombreProducto)")
print("Precio final: $\(Int(precioProducto))")

Salida en consola:

Producto: Cafetera digital
Precio final: $1,149

nombreProducto usa let porque el nombre del artículo no cambia. precioProducto usa var porque aplicamos un descuento y el valor sí cambia.

Ejemplo 2: Contador de pedidos en Mercado Libre

Supón que tu app muestra cuántos pedidos tiene un vendedor en el día.

var pedidosDelDia: Int = 0
let metaDiaria: Int = 50

pedidosDelDia += 12
pedidosDelDia += 8

print("Pedidos completados: \(pedidosDelDia) de \(metaDiaria)")

Salida en consola:

Pedidos completados: 20 de 50

metaDiaria es constante porque la meta no cambia durante el día. pedidosDelDia es variable porque se actualiza con cada nuevo pedido.

Ejemplo 3: Cálculo de nómina para una app de RRHH

Una app de recursos humanos calcula el salario neto de un empleado de FEMSA.

let salarioBase: Double = 18500
let tasaIMSS: Double = 0.0275

var descuentoIMSS: Double = salarioBase * tasaIMSS
var salarioNeto: Double = salarioBase - descuentoIMSS

print("Salario base: $\(Int(salarioBase))")
print("Descuento IMSS: $\(Int(descuentoIMSS))")
print("Salario neto: $\(Int(salarioNeto))")

Salida en consola:

Salario base: $18,500
Descuento IMSS: $508
Salario neto: $17,991

Aquí salarioBase y tasaIMSS son constantes porque son datos fijos de entrada. Los resultados calculados usan var porque dependen de operaciones.

Reglas para nombrar variables y constantes

Swift usa la convención camelCase: la primera letra es minúscula y cada palabra siguiente empieza con mayúscula.

var nombreUsuario = "Ana"       // ✅ correcto
var NombreUsuario = "Ana"       // ❌ evitar (PascalCase es para tipos)
var nombre_usuario = "Ana"      // ❌ evitar (estilo Python, no Swift)

Otras reglas importantes:

  • Los nombres no pueden empezar con números: var 1precio es inválido.
  • Los nombres son sensibles a mayúsculas: precio y Precio son diferentes.
  • Usa nombres descriptivos: p es válido pero precioProducto es mucho mejor.

Nombrar bien tus variables ahorra tiempo cuando revisas código semanas después.

Declarar sin valor inicial

Puedes declarar una variable sin asignarle valor de inmediato. Pero en ese caso, debes especificar el tipo porque Swift no puede inferirlo:

var ciudadEnvio: String
ciudadEnvio = "Guadalajara"

Si intentas usar ciudadEnvio antes de asignarle un valor, Xcode te mostrará un error. Swift exige que cada variable tenga un valor antes de usarse.

Interpolación de cadenas

La interpolación de cadenas te permite insertar el valor de una variable dentro de un texto con \():

let empresa = "Bimbo"
var empleados = 138000

print("\(empresa) tiene más de \(empleados) empleados en el mundo.")

Salida:

Bimbo tiene más de 138000 empleados en el mundo.

Esta técnica es fundamental para mostrar datos dinámicos en la interfaz de tu app.

Errores comunes

Error 1: Intentar modificar una constante

let impuesto = 0.16
impuesto = 0.08  // ❌ Error: cannot assign to value: 'impuesto' is a 'let' constant

Si el valor puede cambiar en algún momento, usa var. Si no, usa let.

Error 2: Mezclar tipos sin conversión

var precio: Int = 500
var iva: Double = 0.16
var total = precio * iva  // ❌ Error: binary operator '*' cannot be applied to 'Int' and 'Double'

Swift no combina tipos automáticamente. Necesitas convertir explícitamente:

var total = Double(precio) * iva  // ✅ correcto

Este es uno de los errores más frecuentes en principiantes que vienen de JavaScript o Python.

Error 3: Usar una variable antes de inicializarla

var ciudad: String
print(ciudad)  // ❌ Error: variable 'ciudad' used before being initialized

Siempre asigna un valor antes de leer la variable. Si no tienes el valor todavía, asigna un valor vacío temporal:

var ciudad: String = ""

Error 4: Nombres con espacios o caracteres especiales

var nombre de usuario = "Ana"  // ❌ inválido
var @nombre = "Ana"            // ❌ inválido
var nombreUsuario = "Ana"      // ✅ correcto

Los espacios rompen la declaración. Los caracteres especiales como @ o # están reservados por Swift.

var vs let: cuándo usar cada uno

Situación Usa
El valor cambiará durante la ejecución var
El valor es fijo desde el inicio let
Resultado de un cálculo que no cambia let
Contador, acumulador, estado de pantalla var
Configuración estática (tasa de IVA, nombre de empresa) let

La regla práctica es simple: empieza siempre con let. Solo cambia a var cuando Xcode te diga que el valor necesita modificarse.

Puntos clave

  • var declara una variable cuyo valor puede cambiar; let declara una constante cuyo valor es fijo.
  • Swift infiere el tipo automáticamente si asignas un valor al declarar la variable.
  • Los cuatro tipos más usados en apps básicas son Int, Double, String y Bool.
  • Usa camelCase para nombrar variables: precioTotal, nombreUsuario, pedidosDelDia.
  • Siempre prefiere let sobre var cuando el valor no cambiará; tu código será más seguro y legible.

Puntos clave

  • `var` declara una variable que puede cambiar de valor; `let` declara una constante que nunca cambia después de su asignación.
  • Swift infiere el tipo de dato automáticamente cuando asignas un valor en la misma línea, por lo que no siempre necesitas escribirlo.
  • Los tipos de datos más usados en apps iOS básicas son `Int`, `Double`, `String` y `Bool`.
  • Usa camelCase para nombrar tus variables: `precioProducto`, `pedidosDelDia`, `salarioNeto`.
  • La regla de oro en Swift es empezar con `let` y cambiar a `var` solo cuando el valor necesite modificarse — Xcode te lo indicará.

Comparte esta lección: