Parece que no puedo encontrar la forma de hacer que Objective-c autocapture mis primitivas.Auto Boxing of primitives
que supone que yo sería capaz de hacer lo siguiente
float foo = 12.5f;
NSNumber* bar;
bar = foo;
Sin embargo me parece que he utilizado el método más detallado de
float foo = 12.5f;
NSNumber* bar;
bar = [NSNumber numberWithFloat:foo];
lo estoy haciendo mal o es esta ¿Mejor imposible?
podría decir "inconveniente" en lugar de "desgracia". Los idiomas con auto (un) boxeo no están libres de problemas, de hecho, muchos de ellos son difíciles de detectar y pueden causar problemas extraños. Por ejemplo, Effective Java y Java Puzzlers dedican bastantes páginas a aclarar la confusión sobre cómo los números actúan inesperadamente en diversas situaciones. Sería bastante conveniente tener el auto-boxing, pero agregarlo al lenguaje en sí (como usted señala) no sería trivial y probablemente estaría lleno de peligros ocultos. –
@Quinn Absolutamente. Realmente estaba tratando de aclarar que Objective-C no podía hacer autoboxing fácilmente, no tratando de hacer un juicio sobre la situación. Cualquiera de nosotros que haya "disfrutado" el autoboxing de Java sabe que no es un almuerzo gratis. He escuchado que C# es mejor, pero no tengo experiencia personal para juzgar. –
¿Quién vuelve 2 años después para ajustar su respuesta? Asombroso. Estaba buscando la nueva sintaxis, gracias! Entonces no hay unboxing automático, por supuesto, ¿verdad? –