无法访问在NSXMLParserDelegate方法中创建的对象

时间:2014-01-02 01:01:59

标签: ios objective-c xml

我正在使用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

0 个答案:

没有答案