iPhone - Заменить разрывы строк в моем TextView на <br />? - PullRequest
0 голосов
/ 12 июля 2011

Я пытаюсь преобразовать lineBreaks в моих UITextView в <br /> тегах, почему происходит сбой следующей строки?Он жалуется на [NSCharacterSet newlineCharacterSet], потому что когда я передаю ему нормальную строку, он отлично работает

[myMutableString stringByReplacingOccurrencesOfString:
  [NSCharacterSet newlineCharacterSet] withString:@"<br />"];

Terminating app due to uncaught exception 'NSInvalidArgumentException', 
reason: '-[__NSCFCharacterSet length]: unrecognized selector sent to 
instance 0x7b1cc80'

1 Ответ

4 голосов
/ 12 июля 2011

A NSCharacterSet не является NSString. Так что вы передаете неверный аргумент.Если у вас есть только символы новой строки "\ n", вы можете использовать:

[myMutableString stringByReplacingOccurrencesOfString:@"\n" 
                                           withString:@"<br />"];

Если у вас есть также "\ r" и "\ lf", вы можете попробовать что-то вроде этого (не проверено)

NSRange range;
while((range = [myMutableString rangeOfCharacterFromSet:
                [NSCharacterSet newlineCharcaterSet]]).location != NSNotFound) {
    [myMutableString replaceCharactersInRange:range withString:@"<br />"];
}
...