Ja, ich habe das gesehen:
Wenn die Methode eine Struktur zurückgibt, die vom Mac OS X ABI Funktionsaufrufhandbuch in Registern zurückgegeben wird, gibt eine an nil gesendete Nachricht für jedes Feld in der Struktur 0.0 zurück. Andere Strukturdatentypen werden nicht mit Nullen gefüllt.
Ich verstehe es einfach nicht.
Wenn Sie neuere Versionen des LLVM-Compilers (Xcode 4.2 oder höher) verwenden, wird die Nachrichtenübermittlung nil
mit einer struct-returning-Methode eine mit Null gefüllte Struktur erzeugen. Im Fall von CGRect
bedeutet das, dass ein rect gleich CGRectZero
ist.
Quelle: Greg Parker , der bei Apple auf der ObjC-Laufzeit arbeitet .
Tags und Links objective-c ios