Como desarrollador de Java que está leyendo la documentación de Objective-C 2.0 de Apple: me pregunto qué significa " enviar un mensaje a cero ", y mucho menos cómo es realmente útil. Tomando un extracto de la documentación:
Hay varios patrones en Cocoa que aprovechan este hecho. El valor devuelto de un mensaje a nil también puede ser válido:
- Si el método devuelve un objeto, cualquier tipo de puntero, cualquier escalar entero de tamaño menor o igual que sizeof (void *), un flotante, un doble, un doble largo o un largo largo, entonces un mensaje enviado a nil devuelve 0 .
- Si el método devuelve una estructura, según lo definido por la Guía de llamadas a funciones ABI de Mac OS X para que se devuelva en los registros, un mensaje enviado a nil devuelve 0.0 para cada campo en la estructura de datos. Otros tipos de datos de estructura no se rellenarán con ceros.
- Si el método devuelve algo diferente a los tipos de valor mencionados anteriormente, el valor de retorno de un mensaje enviado a nil no está definido.
¿Java ha hecho que mi cerebro sea incapaz de asimilar la explicación anterior? ¿O hay algo que me falta y que lo dejaría tan claro como el vidrio?
Tengo la idea de mensajes / receptores en Objective-C, simplemente estoy confundido acerca de un receptor que resulta ser nil
.