Patrzyłem na autoboxing w Objective-C (na przykład here). Czy istnieje nowa składnia rozpakowywania?Objective-C Auto-unboxing z LLVM 4
Na przykład, chcę, aby to zrobić, ale krócej: składnia
NSArray *oneNumber = @[@1];
int one = ((NSNumber *)oneNumber[0]).intValue;
Druga linia jest przerażające. Czy jest jakaś nowa funkcja językowa, aby sobie z tym poradzić?
Pamiętaj, że nie jest to ani auto-boxing, ani automatyczne rozpakowywanie. Składnia '@ ... 'dla skalarów i kolekcji jest, podobnie jak składnia kropkowa, skrótem kompilatora dla konkretnego wywołania metody. Autoboxing oznaczałby, że nagi skalar ('int x = 5;') byłby magicznie zapakowany, gdyby został przekazany do metody wymagającej 'NSNumber *'. (KVC 'valueForKey:' jest na przykład auto-boxing/un-boxing). – bbum
Dzięki za to, @bbum. Czy można je nazwać "literałami obiektów?" –