Kann ich mich darauf verlassen, dass nil UIView CGRectZero für seinen Frame zurückgibt?

8

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.

    
an0 07.04.2012, 04:35
quelle

1 Antwort

14

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 .

    
BJ Homer 07.04.2012, 04:55
quelle

Tags und Links