Ios Can';在NSXMLParserDelegate方法中创建的t访问对象
我使用NSXMParser从服务器读取XML。我已经设置了一个NSXMLParserDelegate,在didStartElement方法中,我执行以下操作Ios Can';在NSXMLParserDelegate方法中创建的t访问对象,ios,objective-c,xml,Ios,Objective C,Xml,我使用NSXMParser从服务器读取XML。我已经设置了一个NSXMLParserDelegate,在didStartElement方法中,我执行以下操作 -(void) parser:(NSXMLParser *) parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
-(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显示recipes NSMutableArray中有一项,但rcp总是以零结尾。有人能提出原因吗?有没有办法重新编写这段代码,这样我就可以修改我放在recipes数组中的Recipe对象
谢谢
Jason Mazzotta确保您的Xcode模式设置为debug。在发布模式下,Xcode不会对变量NSLog进行反符号化(@“配方大小%d”,[recipes count]);配方*rcp=[recipes lastObject];NSLog(@“%@”,rcp)您的意思是这里的rcp为零,且
[配方计数]
等于1?Hi KoduCC。是,当[recipes count]等于1时,rcp为零。