2011-01-15 14 views
0

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

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:' делает указатель из целого числа без приведения

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

Что я делаю неправильно? thanks

ответ

4

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

[saveName characterAtIndex:i] 

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

[saveName substringWithRange:NSMakeRange(i, 1)] 

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

+0

Спасибо за это. не знал, что он вернулся unichar. – jarryd

Смежные вопросы