Ich habe bei Autoboxing in Objective-C (here, zum Beispiel) suchen. Gibt es eine neue Syntax für das Unboxing?Objective-C Auto-Unboxing mit LLVM 4
Zum Beispiel möchte ich dies tun, aber kürzer:
NSArray *oneNumber = @[@1];
int one = ((NSNumber *)oneNumber[0]).intValue;
die Syntax der zweiten Zeile schrecklicher ist. Gibt es eine neue Sprachfunktion, um damit umzugehen?
Beachten Sie, dass dies weder Auto-Boxen noch Auto-Unboxing ist. Die '@ ...' Syntax für Skalare und Sammlungen, wie die Punkt-Syntax, Compiler einer Abkürzung für einen konkreten Methodenaufruf. Autoboxing würde bedeuten, dass ein nackter Skalar ('int x = 5;') würde, wenn sie eine Methode übergeben magische Weise verpackt werden, die 'NSNumber *' erfordert. (KVCs 'valueForKey:' ist zum Beispiel Auto-Boxing/Un-Boxing). – bbum
Vielen Dank für das, @bbum. Korrekt, um sie "Objektliterale" zu nennen? –