Можно ли увеличить букву, т.е. A + 1 = B в Objective-C? - PullRequest
4 голосов
/ 08 января 2011

Я привык делать это на C или C ++, то есть:

myChar++;

должен увеличивать букву.

Я пытаюсь сделать то же самое в Objective-C, за исключением того, чтоУ меня есть NSString для начала (NSString всегда только одна буква).Я пытался преобразовать NSString в char *, но этот метод устарел, и другие способы достижения этого, похоже, не работают.

Как мне преобразовать NSString в char * - или есть?способ увеличить символ в target-c без использования символа * как-нибудь?

Спасибо:)

Ответы [ 2 ]

12 голосов
/ 08 января 2011
// Get the first character as a UTF-16 (2-byte) character:
unichar c = [string characterAtIndex:0];
// Increment as usual:
c++;
// And to turn it into a 1-character string again:
[NSString stringWithCharacters:&c length:1];

Конечно, это предполагает увеличение значения символа Юникод, что имеет смысл для символов диапазона ASCII, но, вероятно, не для других.

1 голос
/ 08 января 2011

Как насчет NSString's

- (unichar)characterAtIndex:(NSUInteger)index;

Будет ли это работать?

...