2011-12-29 3 views

ответ

2

Вы не можете просто отличить NSString как NSMutableString и ожидать, что он изменен. Вам необходимо создать изменяемую строку, прежде чем изменять ее.

NSMutableString *mutableString = [label.text mutableCopy]; 
[mutableString replaceCharactersInRange:NSMakeRange([mutableString length] - 1, 1) withString:@""]; 
+0

спасибо ... но заметьте: label.text возвращение тег кнопки .... – CR7

+0

Просьба уточнить ваш вопрос. Я не могу понять, какую еще проблему вы можете иметь. –

1

replaceCharacterInRange:withString: возвращается недействительным, так как это изменяемая операция, которая изменяет строку.

Чтобы устранить проблему, первое, что вам нужно знать, это то, что вы не можете сделать строку изменчивой, просто набрав ее как NSMutableString, вам нужно использовать mutableCopy.

NSMutableString *str= [label.text mutableCopy]; 

//Now the next thing do not assign str 
[str replaceCharacterInRange:NSMakeRange([str length]-1,1) withString:@""]; 

... 
//And finally when you are done if you are not using ARC 
///then you need to release the string since you called `mutableCopy`. 
[str release]; 
+0

Большое спасибо .. но кнопка не реагирует на действие: D – CR7

0

использование deleteCharactersInRange:

[str deleteCharacterInRange:NSMakeRange([str length]-1,1) ])] 
Смежные вопросы