私は1つのアプリケーションを開発しています.xml解析を実行し、400の質問を取得します.これらの質問を取得するために、その質問属性を持つ1つのクラスを作成しました.質問タグが起動すると、そのクラスのオブジェクトを1つ作成し、その属性情報を保存しましたそして、そのクラスに対して didendelement が発生したときに、そのクラス オブジェクトを 1 つの配列に追加しました。このように、すべての質問に対してオブジェクトを作成します。このようにすると、多くのメモリが必要になり、プロセスも遅くなります。これを実行するとバックグラウンドでは同じ時間がかかります.SO少ないメモリでこれを行う方法を教えてください.私の解析コードは次のようになります
- (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 は 1 つの配列です。