Ios Can';在NSXMLParserDelegate方法中创建的t访问对象

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

我使用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显示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为零。