我已经编写了以下代码来解析 RSS 提要。
但是当它尝试将元素与 @"title"进行比较时,我在 foundCharacter 方法中不断收到
。知道我哪里出错了吗?EXC_BAD_ACCESS
NSMutableDictionary * item;
NSMutableString * title;
NSMutableString * link;
NSString *element;
NSMutableArray *feeds;
-(void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{
element = elementName;
if ([element isEqualToString:@"item"]) {
item = [[NSMutableDictionary alloc]init];
title = [[NSMutableString alloc]init];
link = [[NSMutableString alloc] init];
}
}
-(void) parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{
if ([elementName isEqualToString:@"item"]) {
[item setObject:title forKey:@"title"];
[item setObject:link forKey:@"link"];
[feeds addObject:[item copy]];
NSLog(@"feeds :: %@",feeds);
}
}
-(void) parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{
if ([element isEqualToString:@"title"]) {
[title appendString:string];`enter code here`
}else if ([element isEqualToString:@"link"]){
[link appendString:string];
}
}
最佳答案
我认为错误在于这一行:
element = elementName;
您必须初始化变量元素。所以写这个:
element = [[NSString alloc] initWithString:elementName];
那么它应该可以工作了。
关于ios - NSXMLParser 代码的 EXC_BAD_ACCESS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23382073/