target-c .... удаление номера с моего ярлыка кнопкой - PullRequest
1 голос
/ 30 декабря 2011

я хочу удалить номера по этой кнопке с моего ярлыка NSMutableString *str=(NSMutableString *)label.text;

str=[str replaceCharacterInRange:NSMakeRange([str length]-1,1) withString:@""];

ошибка ..... "Void value not ignored as it ought to be"

Ответы [ 3 ]

2 голосов
/ 30 декабря 2011

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

NSMutableString *mutableString = [label.text mutableCopy];
[mutableString replaceCharactersInRange:NSMakeRange([mutableString length] - 1, 1) withString:@""];
1 голос
/ 30 декабря 2011

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

Чтобы решить вашу проблему, первое, что вам нужно знать, это то, что вы не можете сделать изменяемую строку, просто присвоив ей значение 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 голосов
/ 30 декабря 2011

использовать deleteCharactersInRange:

[str deleteCharacterInRange:NSMakeRange([str length]-1,1) ])]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...