deleteCharactersInRange trabajo algo mal
-
25-09-2019 - |
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!
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.