0

アプリがクラッシュします。コードでxmlを解析しています。コードは次のとおりです。

この行を削除すると正常に動作します [listItem setValue:currentElementValue forKey:elementName]; ありがとう

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

        if ([elementName isEqualToString:@"channel"]) {
            NSLog(@"found channel");
            app.listArray = [[NSMutableArray alloc]init];
        }
        else if([elementName isEqualToString:@"item"]){
            listItem = [[NewsList alloc] init];
            listItem.title = [attributeDict objectForKey:@"title"];
            listItem.description = [attributeDict objectForKey:@"description"];

        }



    }


    -(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:@"channel"]) {
            return;
        }

        if ([elementName isEqualToString:@"item"]) {
            [app.listArray addObject:listItem];
            listItem = nil;
        }
        else{
            NSLog(@"element name = %@", elementName);

            [listItem setValue:currentElementValue forKey:elementName];
        }

        currentElementValue = nil;
    }
4

1 に答える 1