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

Escribir código a prueba de nil

En esta lección tratarás con datos que pueden faltar sin que el programa se rompa.

nil representa la ausencia de objeto. El operador ?: sin valor intermedio da un valor por defecto cuando el de la izquierda es nulo.

El código de ejemplo muestra un texto alternativo cuando la dirección falta.

Aquí está la característica más sorprendente del lenguaje: enviar un mensaje a nil no falla. [nil length] devuelve 0 y no ocurre nada. En casi cualquier otro lenguaje eso sería un fallo inmediato.

Es una decisión de diseño con dos caras. Simplifica mucho el código, porque no hace falta comprobar antes de cada llamada. Y a cambio, un error se propaga en silencio: si un objeto es nulo por equivocación, el programa no se detiene, simplemente no hace nada, y el síntoma aparece mucho más lejos como «la pantalla salió vacía». Es lo contrario del enfoque de Swift, donde el compilador te obliga a tratar la ausencia.

Cuidado con las colecciones: no admiten nil. Meter uno en un NSArray lanza una excepción. Para representar «aquí no hay nada» dentro de una colección existe NSNull, que es un objeto de verdad.

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