我正在开发一个应用程序。其中我执行 xml 解析并获得 400 个问题。为了获得这些问题,我创建了一个具有该问题属性的类。当问题标签被触发时,我为该类创建了一个对象并保存了该属性信息当为该类触发 didendelement 时,我将该类对象添加到一个数组中。像这样,我为每个问题创建一个对象。当我这样做时,它会占用大量内存并且过程也很慢。如果我运行这个在后台它需要相同的时间。所以请告诉我如何用更少的内存来做这个。我的解析代码就像
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
if([elementName isEqualToString:@"question"])
{
questions=[[Questions alloc]init];
questions.content=[attributeDict valueForKey:@"content"];
questions.id=[attributeDict valueForKey:@"id"];
questions.answer=[attributeDict valueForKey:@"answers"];
questions.type=[attributeDict valueForKey:@"type"];
questions.markertext=[attributeDict valueForKey:@"marker_text"];
questions.markertop=[attributeDict valueForKey:@"marker_top"];
questions.markerleft=[attributeDict valueForKey:@"marker_left"];
}
}
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
[qshns addObject:questions];
}
这里 qshns 是一个数组。