Pregunta

Hola a todos! Estoy utilizando el mensaje de deleteCharactersInRange NSMutableString. Y hay un problema que esta finction eliminaciones varían de una manera incorrecta. Este es un ejemplo de código que funciona mal:

- (void) btnClick { NSRange deleteRange = NSMakeRange (0, 1); [ValueStr deleteCharactersInRange: deleteRange]; [ShowNumber auto]; }

Tengo una cadena mutable: "-21.256" y al pulsar el botón btnClick debe eliminar "-" desde el principio, pero lo hace sólo después de que el tiempo de prensas quinto. Ealier funcionó bien, pero ahora no. Ayuda por favor, o lo puedo usar en lugar de esta función? Gracias!

¿Fue útil?

Solución 2

creo que va a ser interesante para usted. Me itinialized mi cadena de manera tal:

NSString *buf = nil;
buf = [NSString stringWithFormat:@"%14.5f", myCalculator.calcValue];

Después de eso añado esta cadena para mi NSMutableString. Y con una cuerda que hice operaciones con la ayuda de func:

[string deleteCharactersInRange:NSMakeRange(0, 1)];

Pero charachters se eliminaron sólo después del ciclo de 6 o 7 de hacer clic.

Solución:

El problema está en @ "% 14.5f" en esta cuerda que tenemos: "-2.00000" en lugar de "-2.00000" lo que la función hace su trabajo bien, pero elimina los espacios en blanco en lugar de "-".

Así que necesitamos para convertir de tal manera: @ "% f"

Otros consejos

El código debería funcionar bien:

NSMutableString *string = [NSMutableString stringWithString:@"-21.256"];
NSLog(@"%@", string);
[string deleteCharactersInRange:NSMakeRange(0, 1)];
NSLog(@"%@", string);

resultados en:

-21.256
21.256

El problema debe estar en otra parte.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top