Me acaba de picar un molesto bug que se hizo oscuro por el comportamiento "enviar mensaje a nada está bien" en Objective-C.¿Hay alguna manera de atrapar los mensajes enviados a cero en Objective-C?
He visto Sending a message to nil?, y el consenso parece ser "así es como rodamos" en Objective-C.
Ahora, tal vez no tengo suficiente experiencia en Objective-C, pero parece que sería útil atrapar esto, porque no puedo pensar en una buena razón por la que esto debería estar sucediendo más de el tiempo. Sin embargo, podría ser una expresión de codificación a la que todavía no estoy acostumbrado.
Así que aparte de la comprobación de cero en todas partes, así:
assert(object != nil);
[object message];
¿Hay una manera de hacer la trampa de tiempo de ejecución de esta condición, y advertir cuando object
es nula?
¿Por qué no intentar escribir en un idioma Objective-C, en lugar de trasladar expresiones idiomáticas de Java a Objective-C? – runako
No lo sé, no codigo en Java. Claramente, otras personas lo han encontrado útil (ver respuesta a continuación). – Justicle
s/Java/otro lenguaje de programación /. Aprender los modismos nativos de cualquier entorno generalmente lo hará más productivo en ese entorno. No luches contra tus herramientas. – runako