Documento de Apoyo: Fundamentos de Swift para iOS
¡Domina las bases para crear apps como un profesional!
1. ¡Hola Mundo! – Tu Primer Programa en Swift
// Imprimir un mensaje en consola
print("¡Hola, futuros developers de iOS! ")
Salida:
¡Hola, futuros developers de iOS!
2. Variables vs Constantes
var (Variable):
Almacena valores que pueden cambiar.
Ejemplo:
var puntuacion = 100 // Inicialización
puntuacion = 150 // Modificación permitida
let (Constante):
Almacena valores que no cambian.
Ejemplo:
let nombreJugador = "Luis"
// nombreJugador = "Ana" // ¡Error! No se puede modificar.
3. Tipos de Datos Básicos
Swift es fuertemente tipado, pero infiere tipos si no los declaras.
Tipo Descripción Ejemplo
Int Números enteros var edad: Int = 18
Double Números decimales var temperatura = 25.7
String Texto (entre comillas) let mensaje = "Hola Mundo"
Bool Verdadero (true) o falso (false) var esPremium = false
Array Lista ordenada var frutas = [" ", " "]
4. Tipos Opcionales (?)
Representan valores que pueden ser nil (ausentes).
Declaración:
var armaLegendaria: String? = nil // Puede ser un String o nil
armaLegendaria = "Espada del Destino "
Uso seguro (Optional Binding):
if let arma = armaLegendaria {
print("Tu arma es: \(arma)")
} else {
print("No tienes arma legendaria ")
5. Operadores Básicos
Tipo Símbolos Ejemplo
Aritméticos +, -, *, / let suma = 5 + 3
Comparación ==, !=, >, < if edad >= 18 { ... }
Lógicos && (y), ` (o),!` (no) if esEstudiante && tieneBeca { ... }
6. Funciones
Sintaxis Básica:
func saludar(nombre: String) -> String {
return "¡Hola \(nombre)! "
print(saludar(nombre: "Ana")) // ¡Hola Ana!
Parámetros con Etiquetas:
func atacar(enemigo: String, con arma: String) {
print("¡Atacando a \(enemigo) con \(arma)! ")
atacar(enemigo: "Demogorgon", con: "Escopeta")
7. Arrays – Colecciones Ordenadas
var inventario = ["Botiquín", "Escudo", "Rifle"]
// Añadir elementos:
inventario.append("Granada")
// Acceder por índice:
print(inventario[0]) // Botiquín
// Eliminar elementos:
inventario.remove(at: 1) // Elimina "Escudo"
8. Diccionarios – Pares Clave-Valor
var jugador = [
"nombre": "Carlos",
"nivel": 15,
"esPremium": true
// Acceder a valores:
print(jugador["nombre"]!) // Carlos (¡usar ! si estás seguro)
// Añadir nueva clave:
jugador["arma"] = "Lanzacohetes"
9. Estructuras de Control
if/else:
var vida = 75
if vida > 50 {
print("Estás seguro 🟢")
} else {
print("¡Busca un botiquín! ")
}
switch:
let clima = "lluvioso"
switch clima {
case "soleado":
print("Usa bloqueador ")
case "lluvioso":
print("¡Lleva paraguas! ")
default:
print("Clima no reconocido")
10. Consejos para Evitar Errores Comunes
Nombra variables claramente:
var a = 10 → var cantidadZombies = 10.
Usa let siempre que puedas: Mejora el rendimiento.
Evita la fuerza unwrapping (!): Usa if let o guard let.
Documenta tu código:
/// Calcula el daño recibido por el jugador
func calcularDaño(ataque: Int, defensa: Int) -> Int { ... }