2009-12-06 3 views
0

У меня возникли трудности с subj.Вставить символы в NSString

У меня есть текст NSString, содержащий «SLOVO», и мне нужно, чтобы NSMutableString * currentRequest содержал «% t% e% x% t%». пытаюсь в цикле:

 [currentRequest appendFormat:@"%c%%", [text characterAtIndex:i]]; 

Это работает отлично, НО если текст содержит, например, «Рюдигер», я имею в виду не являющихся латинские символы, то currentRequest содержит полный мусор!

Я вижу решить, использовать (Недействительными) insertString: (NSString *) aString atIndex: (NSUInteger) anIndex , но я думаю, что это не правильный путь. Может быть, знаете правильный путь?

спасибо.

ответ

3

я, возможно, не поняли, но я думаю, что проблема с appendFormat является несоответствие между %c спецификатора формата и типа возвращаемого методом characterAtIndex.

Метод characterAtIndex возвращает unichar, тогда как %c ожидает, что 8-битовый unsigned char. Используйте %C (верхний регистр C) вместо этого в строке формата.

Некоторые документы Apple, разработчик для справки:

+0

большое спасибо! –

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