У меня есть приложение для iPhone, и вот как я анализирую заголовки в RSS-канале с помощью NSXMLParser:
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
currentString = [[NSMutableString alloc] init];
[self setTitle:currentString];
}
Это прекрасно работает. Теперь я имею дело с другим каналом, который содержит заголовки с тегами
, и я хочу их удалить. Я видел разные вопросы в StackOverflow, такие как ЭТО, который дает код для замены тегов
пустой строкой. Вот как я изменил свой код:
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
currentString = [[NSMutableString alloc] init];
currentString = [[currentString stringByReplacingOccurrencesOfString:@"<br>" withString:@""] mutableCopy];
[self setTitle:currentString];
}
Но это не работает и показывает тот же текст на выходе без удаления тегов
. Может ли кто-нибудь указать, что я делаю неправильно и как я могу это исправить?
NSMutableString
. Я думаю, что Суреш спрашивал какой-то контекст, например: 1. это переменная экземпляра или что? 2. Для чего он используется (или что он должен делать)? 3. что вы ожидаете на выходе, каков (ошибочный) вывод и 4. как это связано с этой переменной? - person   schedule 01.11.2013replaceOccurrencesOfString:withString
вместо перераспределения, повторной инициализации и копирования строки каждый раз? - person   schedule 01.11.2013replaceOccurrencesOfString:withString:
не то же самое, чтоstringByReplacingOccurrencesOFString:withString:
... Прочтите документациюNSMutableString
. - person   schedule 01.11.2013NSLog(@"%@", currentString)
сразу после замены, по моему мнению, он должен быть пустым. Вы наверняка устанавливаете его с другим значением где-то еще - person slecorne   schedule 01.11.2013[[NSMutableString alloc] init];
в своем парсере - person slecorne   schedule 01.11.2013