Ошибка NSString вылетает приложение - PullRequest
0 голосов
/ 15 января 2011

Я хотел бы перебрать строку и использовать каждый символ.

int i = 0;
NSString *saveName = [[NSUserDefaults standardUserDefaults]
    stringForKey:@"userName"];

for (i; i < [saveName length]; i++) {
 NSMutableString *temp = [NSMutableString stringWithString:[saveName    characterAtIndex:i]];
 [self setUserName:temp];
}

Я получаю

предупреждение: передача аргумента 1 в stringWithString: делает указатель из целого числа без приведения

, который вылетает из приложения.

Что я делаю не так? спасибо

1 Ответ

4 голосов
/ 15 января 2011

Вы звоните -stringWithString:, который ожидает аргумент NSString *.Но этот вызов:

[saveName characterAtIndex:i]

не возвращает строку NSSt, он возвращает unichar.Попробуйте:

[saveName substringWithRange:NSMakeRange(i, 1)]

вместо этого, чтобы получить символ "как строка".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...