¿Ya dominas lo básico? Un curso estructurado de Objective-C es la vía rápida para dar el salto.
Ver cursos de Objective-C en UdemyEnlace de afiliado. No te cuesta nada extra.
- 01Preparar el entorno (lo que necesitas)
- 02Tu primera salida (NSLog)
- 03Usar variables
- 04Condicionales (la sentencia if)
- 05Repetir con bucles (for)
- 06Escribir tu propia función
- 07Trabajar con arrays
- 08Repetir con while
- 09Clases (programación orientada a objetos)
- 10Gestión de errores (@try / @catch)
- 11Ordenar un array
- 12Funciones recursivas
- 13La biblioteca de cadenas
- 14La sentencia switch
- 15El operador ternario
- 16Ampliar una clase con una categoría
- 17Escribir comentarios
- 18Operadores lógicos (&&, ||, !)
- 19Constantes (static const)
- 20Partir y unir cadenas
- 21Escribir código a prueba de nil
- 22Buscar en un array (containsObject:)
- 23Transformar un array
- 24Arrays bidimensionales (datos en forma de tabla)
- 25Errores propios (clasificar con NSError)
- 26Escribir una función de argumentos variables
- 27Colecciones sin duplicados con NSSet
- 28Comprobar que el código es correcto (primer paso hacia las pruebas)
- 29Funciones de orden superior (pasar un bloque)
- 30Pilas y colas (estructuras de datos básicas)
- 31Conversión de tipos
- 32Introducción a las expresiones regulares
- 33El algoritmo de búsqueda binaria
- 34Construir un cifrado César
- 35Entender cómo funciona la ordenación de burbuja
- 36Construir y mostrar una fecha (NSDateComponents)
- 37Escribir varias pruebas juntas
- 38Acelerar cálculos con memoización
- 39Normalizar cadenas
- 40Copia superficial y copia profunda
- 41Enumeraciones básicas
- 42Aplanar un array
- 43Invertir una cadena y detectar palíndromos
- 44Emparejar dos arrays (la operación zip)
- 45Redondear números (floor, ceil, round)
- 46Texto de varias líneas (juntar literales adyacentes)
- 47Devolver varios valores (NSDictionary)
- 48Calcular el MCD y el MCM
- 49Dar formato a los números
- 50Limpieza con @try / @catch / @finally
- 51Funciones que sirven para cualquier tipo (el tipo id)
- 52Leer y escribir archivos
- 53Generar números aleatorios
- 54Operaciones a nivel de bits
- 55Recibir argumentos de la línea de órdenes
- 56Esperar un tiempo determinado
- 57Cuidado con los errores de la coma flotante
- 58Leer un valor de la entrada estándar
- 59FizzBuzz (el ejercicio clásico)
- 60Comprobar si un número es primo
- 61Operaciones de conjuntos con NSSet
- 62Convertir entre bases (binario y hexadecimal)
- 63Comprobar el equilibrio de los paréntesis
- 64Comprobar si dos palabras son anagramas
- 65Comprobar si un año es bisiesto
- 66Convertir temperaturas
- 67Descomponer en factores primos
- 68[Aplicado] Un programa que resume notas
Construir y mostrar una fecha (NSDateComponents)
En esta lección crearás una fecha concreta y sacarás de ella el día de la semana.
Con NSDateComponents se indican año, mes y día, y un NSCalendar los convierte en una fecha real de la que se puede extraer el día de la semana.
El código de ejemplo muestra la fecha en el orden día/mes/año, que es el que se usa en España y en Hispanoamérica, y después el nombre del día.
Ese orden importa más de lo que parece. Escrito «8/9/2026», un lector español entiende 8 de septiembre y uno estadounidense 9 de agosto.
Fíjate en el array de nombres: empieza con una cadena vacía. Es porque NSCalendarUnitWeekday devuelve 1 para el domingo, no 0, y así el índice coincide sin restar. En España la semana empieza en lunes, así que el orden de los nombres tiene que corresponder al que devuelve el calendario, no al del calendario que tienes en la cabeza.
Para mostrar una fecha a una persona, lo correcto no es construir el texto a mano sino usar NSDateFormatter con un estilo localizado: entonces el orden, los nombres de los meses y los separadores se adaptan solos al idioma del dispositivo. Y conviene saber que crear un formateador es costoso, así que se reutiliza.
🧪 Este sitio no puede compilar ni ejecutar Objective-C directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).
🔗 El mismo tema en otros lenguajes
Mira cómo se escribe lo mismo en otro lenguaje.
