我正在使用NSXMParser从服务器读取XML。我已经设置了NSXMLParserDelegate,并且在didStartElement方法中,我执行以下操作
-(void) parser:(NSXMLParser *) parser
didStartElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI
qualifiedName:(NSString *)qName
attributes:(NSDictionary *)attributeDict
{
NSNumber * tempNumber = [elements objectForKey:elementName];
elementType = [tempNumber intValue]; ;
if([elementName isEqualToString:@"recipe"])
{
[recipes addObject:[[Recipe alloc] init]];
}
}
recipes 是一个NSMutableArray成员变量,它在非委托方法中初始化。然后我尝试访问 recipes 数组中的 Recipe 对象。 foundCDATA方法:
-(void) parser:(NSXMLParser *) parser
foundCDATA:(NSData *)CDATABlock
{
NSError * error=nil;
NSString * encodedString, * decodedString, * tempString;
NSData * decodedData, * decodedData1;
NSLog(@"recipes size %d", [recipes count]);
Recipe * rcp = [recipes lastObject];
...
}
NSLog显示食谱 NSMutableArray中有一个项目,但 rcp 总是为零。任何人都可以建议为什么那样,如果有办法重做这个代码,以便我可以修改 Recipe 对象,我把食谱数组?
谢谢,
Jason Mazzotta