iPhone NSNumberFormatter setFormat:
cocoa-touch (1)
Parece como si NSNumberFormatter''s
método NSNumberFormatter''s
para configurar formatters
personalizados. setFormat:
no está disponible en el iPhone ...
Así que esto ... bloquea mi aplicación:
NSNumberFormatter *lengthFormatter = [[NSNumberFormatter alloc] init];
[lengthFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[lengthFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[lengthFormatter setFormat:@"#,##0.0M"];
¿Le ha pasado esto a alguien más?
Gracias,
Dan ** RESPUESTA A CONTINUACIÓN. NSNumberFormatter
también tiene métodos llamados setPositiveFormat: setNegativeFormat:
que reemplaza el setFormat:
depreciado setFormat:
**
Sí, está documentado como una nota en NSNumberFormatter Class Reference (requiere inicio de sesión). La nota dice:
Nota de iPhone OS: iPhone OS solo admite el comportamiento moderno 10.4+. Los métodos de estilo 10.0 y las cadenas de formato no están disponibles en el sistema operativo de iPhone.
EDITAR: Agregó más texto para apoyar las preguntas de seguimiento.
Podrías volver a escribir el tuyo en algo similar:
NSNumberFormatter *lengthFormatter = [[NSNumberFormatter alloc] init];
[lengthFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[lengthFormatter setPositiveSuffix:@"M"];
[lengthFormatter setNegativeSuffix:@"M"]; // assuming it can go negative
Sugiero echar un vistazo al documento que he vinculado anteriormente. Es específicamente para la versión para iPhone de NSNumberFormatter, por lo que ninguno de los métodos que causarán que su aplicación falle se encuentra allí. También está diseñado para aprovechar mucho más la configuración localizada del usuario que el NSNumberFormatter original. Hay grupos de métodos para restringir lo que aparece y tal mientras se siguen aprovechando las preferencias del usuario. Lamentablemente, ya no existe un método setFormat: