Como um desenvolvedor Java que está lendo a documentação Objective-C 2.0 da Apple: Eu me pergunto o que " enviar uma mensagem para o zero " significa - sem falar em como é realmente útil. Pegando um trecho da documentação:
Existem vários padrões no Cocoa que se aproveitam desse fato. O valor retornado de uma mensagem para nulo também pode ser válido:
- Se o método retornar um objeto, qualquer tipo de ponteiro, qualquer escalar inteiro de tamanho menor ou igual a sizeof (void *), um flutuante, um duplo, um duplo longo ou um longo longo, então uma mensagem enviada para nil retornará 0 .
- Se o método retornar uma estrutura, conforme definido pelo Guia de chamada de função ABI do Mac OS X para ser retornada em registradores, uma mensagem enviada para nil retornará 0,0 para cada campo na estrutura de dados. Outros tipos de dados de estrutura não serão preenchidos com zeros.
- Se o método retornar qualquer coisa diferente dos tipos de valor mencionados, o valor de retorno de uma mensagem enviada para nil é indefinido.
Java tornou meu cérebro incapaz de grocar a explicação acima? Ou há algo que estou perdendo que tornaria isso tão claro quanto o vidro?
Eu tenho a idéia de mensagens / receptores em Objective-C, estou simplesmente confuso sobre um receptor que por acaso é nil
.