преобразовать символ в строку

#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]];