I nie wydają się rysunek się, jak uzyskać objective-c auto polu moje prymitywów.Auto Boks prymitywów
Sądziłem, że będę w stanie wykonać następujące
float foo = 12.5f;
NSNumber* bar;
bar = foo;
Jednak uważam, że mam używany do bardziej opisowym metody
float foo = 12.5f;
NSNumber* bar;
bar = [NSNumber numberWithFloat:foo];
robię to źle, czy jest to Lepiej Być Nie Może?
mogę powiedzieć "niewygodnie" zamiast "niestety". Języki z auto- (nie) boksem nie są wolne od problemów - w rzeczywistości wiele z nich jest trudnych do wykrycia i może powodować dziwne problemy. Na przykład Efektywna Java i Java puzzlers poświęcić sporo stron do sprzątania zamieszanie o tym, jak działają numery niespodziewanie w różnych sytuacjach. Byłoby to dość wygodne, aby auto-boxing, ale dodanie go do samego języka (jak podkreślić) byłoby nietrywialne i prawdopodobnie obarczona ukrytych niebezpieczeństw. –
@Quinn Absolutnie. Byłem naprawdę próbuje zrobić punkt, że Objective-C nie można łatwo zrobić autoboxing, nie starając się orzeczenie o sytuacji. Każdy z nas, który "cieszył się" z autoboxingu Jawy, wie, że to nie jest darmowy lunch. Słyszałem, że C# jest lepsze, ale nie ma osobistego doświadczenia, z którym można by sądzić. –
Kto wraca 2 lata później, aby dostosować odpowiedź? Niesamowity. Szukałem nowej składni, dzięki! Więc oczywiście nie ma automatycznego rozpakowywania, prawda? –