【发布时间】:2014-06-16 10:03:00
【问题描述】:
我已经编写了以下代码来解析RSS feeds.,但是当它尝试将元素与@"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'变量 -(void) parser:(NSXMLParser *)parser foundCharacters:(NSString *)string,应该是string。
-
我没有使用 ARC.. 当我到达代码行时它崩溃了
-
@user2071152 我已将元素变量声明为 NSString
标签: ios objective-c xml-parsing exc-bad-access nsxmlparser