#iphone #objective-c #cocoa-touch #nsstring
#iPhone #objective-c #cocoa-touch #nsstring
Вопрос:
мой код отлично работает до тех пор, пока я не узнаю, и, если я введу двузначное число в текстовое поле (например, 12), nslog вернет 2 однозначных числа (например, 1 и 2). Теперь мне нужно поместить эти 2 однозначных числа в 2 строки. кто-нибудь может мне помочь. заранее спасибо.
NSString *depositOverTotalRwy = [NSString stringWithFormat:@"%@", [deposit text]];
NSArray *components = [depositOverTotalRwy
componentsSeparatedByString:@"/"];
NSString *firstThird = [components objectAtIndex:0];
for(int i = 0; i < [firstThird length]; i )
{
char extractedChar = [firstThird characterAtIndex:i];
NSLog(@"%c", extractedChar);
}
Ответ №1:
Вы должны уметь использовать -stringWithFormat:
.
NSString *s = [NSString stringWithFormat:@"%c", extractedChar];
Редактировать:
Вы можете хранить их в массиве.
NSMutableArray *digits = [NSMutableArray array];
for ( int i = 0; i < [s length]; i ) {
char extractedChar = [s characterAtIndex:i];
[digits addObject:[NSString stringWithFormat:@"%c", extractedChar]];
}
Комментарии:
1. да, это работает, но при этом я получаю обе цифры в одной строке. что делать, если я хочу разделить его на 2 строки? Спасибо
Ответ №2:
Попробуйте напечатать значение первой трети использования NSLog()
, посмотрите, что оно точно содержит, ваш код кажется правильным,
Используйте characterAtIndex
функцию для NSString
извлечения символа в известном местоположении
- (unichar)characterAtIndex:(NSUInteger)index
Используйте, как показано ниже
NSString *FirstDigit = [NSString stringWithFormat:@"%c", [myString characterAtIndex:0]];
NSString *SecondDigit = [NSString stringWithFormat:@"%c", [myString characterAtIndex:1]];