iphone:在Xcode 4.3.2中使用addObject时,NSMutable数组为空

时间:2012-06-06 21:14:13

标签: iphone nsmutablearray

我正在使用NSXMLParser解析数据。 我能够获得解析的数据。但是当我使用addObject将它添加到NSMutableArray时,该数组为空。 我使用的是最新的Xcode版本。 有人可以帮帮我。

我正在处理的数组是identificationTypes1

-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{

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

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

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

        self.identificationTypes1 =[[NSMutableArray alloc]init];

        }

    }

}

-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{

    if (!currentElementValue) {
        currentElementValue =[[NSMutableString alloc]initWithString:string];

    }
    else {
        [currentElementValue appendString:string];

    }


}

-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{

    if ([elementName isEqualToString:@"Books"]) {
        NSLog(@"Count is %@",[identificationTypes1 count]);

        return;
    }
    if ([elementName isEqualToString:@"Book"]) {

    }
    if ([elementName isEqualToString:@"title"]) {
        NSLog(@"Curre value is %@",currentElementValue);
        [self.identificationTypes1 addObject:currentElementValue];


    }

   currentElementValue = nil;

}

2 个答案:

答案 0 :(得分:0)

NSMutabeArray *myArray = [[NSMUtableArray alloc]init];

[myArray addObject:<XML Data>];

答案 1 :(得分:0)

您不能像在didStartElement中那样嵌套元素。解析器不允许这样做。 自行取出标题并重新测试。您需要创建有条件访问的新变量。