AD

¿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 Udemy

Enlace de afiliado. No te cuesta nada extra.

🍎Lecciones de Objective-C
Lección 41 / 68

Enumeraciones básicas

En esta lección darás nombre a un conjunto cerrado de valores posibles.

typedef NS_ENUM(NSInteger, Color) declara una enumeración con tipo. Los valores empiezan en 0 y van subiendo de uno en uno.

El código de ejemplo define tres colores y muestra sus valores numéricos.

Fíjate en los nombres: ColorRed, no Red. En C los valores de una enumeración viven en el espacio de nombres global, así que dos enumeraciones con un valor Red chocarían. La convención de Apple es prefijar cada valor con el nombre del tipo, y por eso los nombres resultan tan largos en este lenguaje.

NS_ENUM es una macro que aporta algo real frente al enum pelado de C: fija el tipo subyacente, lo que hace predecible su tamaño, y permite que el compilador avise cuando un switch se deja un caso sin tratar. Para valores que se combinan como banderas existe NS_OPTIONS.

Al imprimir, la enumeración se muestra como un número, porque por dentro lo es. Para ver el nombre hay que escribir una función que lo traduzca — algo que Swift resolvió y que aquí sigue haciéndose a mano.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 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.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)