解析标签的属性iphone sdk

问题描述:

解析后我得到了这个错误。 *终止应用程序由于未捕获的异常 'NSInvalidArgumentException',原因: ' - [NSCFString stringValue的]:无法识别的选择发送到实例0x4b68480'解析标签的属性iphone sdk

代码是

- (无效)解析器:(的NSXMLParser *)解析器didStartElement:(的NSString *)的ElementName的namespaceURI:(的NSString *)的namespaceURI的qualifiedName:(的NSString *)QNAME属性:(的NSDictionary *)attributeDict {

if([elementName isEqualToString:@"gallery"]){ 

} 
else if ([elementName isEqualToString:@"asset"]){ 

    NSString *str ; 
    str = [[attributeDict objectForKey:@"type"] stringValue];  <- HERE 
    NSLog(@"type = %@",str); 
    str = [[attributeDict objectForKey:@"thumbnail"] stringValue];  <- HERE 
    NSLog(@"thumbnail = %@",str); 
    str = [[attributeDict objectForKey:@"large"] stringValue];  <- HERE 
    NSLog(@"large = %@",str); 

} 
NSLog(@"Processing Element: %@",elementName); 

}

XML树看起来像

“< ”画廊...“>” “< ”资产类型=“ 形象” 缩略图= “/ ...” 大= “/ ...” “>” ...

谢谢你的帮忙!

错误告诉明显[attributeDict objectForKey:...]已经返回NSString。因此,您不必致电stringValue以存储到str。的,即不是

str = [[attributeDict objectForKey:@"type"] stringValue]; 

你可以做

str = [attributeDict objectForKey:@"type"]; 
+0

非常感谢你!!!!!!! – 2012-01-10 10:15:08