Come sviluppatore Java che sta leggendo la documentazione Objective-C 2.0 di Apple: mi chiedo cosa significhi " inviare un messaggio a zero ", figuriamoci come sia effettivamente utile. Prendendo un estratto dalla documentazione:
Ci sono diversi modelli in Cocoa che sfruttano questo fatto. Il valore restituito da un messaggio a nil può anche essere valido:
- Se il metodo restituisce un oggetto, qualsiasi tipo di puntatore, qualsiasi intero scalare di dimensione inferiore o uguale a sizeof (void *), un float, un double, un long double o un long long, un messaggio inviato a nil restituisce 0 .
- Se il metodo restituisce una struttura, come definita dalla Guida alla chiamata alla funzione ABI di Mac OS X, da restituire nei registri, un messaggio inviato a nil restituisce 0,0 per ogni campo nella struttura dati. Altri tipi di dati struct non verranno riempiti con zeri.
- Se il metodo restituisce qualcosa di diverso dai suddetti tipi di valore, il valore di ritorno di un messaggio inviato a nil non è definito.
Java ha reso il mio cervello incapace di elaborare la spiegazione di cui sopra? O c'è qualcosa che mi manca che lo renderebbe chiaro come il vetro?
Ho l'idea di messaggi / ricevitori in Objective-C, sono semplicemente confuso su un ricevitore che sembra essere nil
.