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 19 / 68

Constantes (static const)

En esta lección darás nombre a un valor que no debe cambiar.

static const NSInteger MaxScore = 100; declara una constante. const impide modificarla y static limita su alcance a este archivo.

El código de ejemplo define una nota máxima y la muestra.

Hay dos formas de declarar constantes en C, y la diferencia importa. La antigua es #define MAX_SCORE 100, que el preprocesador sustituye textualmente sin comprobar el tipo, y por eso los errores aparecen en sitios desconcertantes. La moderna es static const, que sí tiene tipo y se ve en el depurador. En código nuevo se prefiere la segunda.

Con cadenas, la declaración correcta es static NSString *const Nombre = @"...";, con el const después del asterisco. Escrito antes, const NSString *, lo que queda protegido es el objeto y no el puntero, que es lo contrario de lo que se quiere. Es un detalle de C que confunde a mucha gente.

En los frameworks de Apple verás constantes de cadena por todas partes como claves de diccionario y nombres de notificación, precisamente porque así se comparan por puntero y una errata se detecta al enlazar.

📖 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)