Als Java-Entwickler, der Apples Objective-C 2.0-Dokumentation liest: Ich frage mich, was " Senden einer Nachricht an Null " bedeutet - geschweige denn, wie nützlich es tatsächlich ist. Ein Auszug aus der Dokumentation:
Es gibt verschiedene Muster in Kakao, die diese Tatsache ausnutzen. Der von einer Nachricht an nil zurückgegebene Wert kann auch gültig sein:
- Wenn die Methode ein Objekt, einen beliebigen Zeigertyp, einen ganzzahligen Skalar mit einer Größe kleiner oder gleich sizeof (void *), ein float, ein double, ein long double oder ein long long zurückgibt, gibt eine an nil gesendete Nachricht 0 zurück .
- Wenn die Methode eine Struktur zurückgibt, die im Mac OS X ABI-Funktionsaufrufhandbuch definiert ist und in Registern zurückgegeben werden soll, gibt eine an nil gesendete Nachricht für jedes Feld in der Datenstruktur 0.0 zurück. Andere Strukturdatentypen werden nicht mit Nullen gefüllt.
- Wenn die Methode etwas anderes als die oben genannten Werttypen zurückgibt, ist der Rückgabewert einer an nil gesendeten Nachricht undefiniert.
Hat Java mein Gehirn unfähig gemacht, die obige Erklärung zu verstehen? Oder fehlt mir etwas, das dies so klar wie Glas macht?
Ich habe die Idee von Nachrichten / Empfängern in Objective-C, ich bin einfach verwirrt über einen Empfänger, der zufällig ist nil
.