私は実際NSXMLParser
に、サーバーでホストされているXMLファイルを解析するためにこのクラスを使用しています。パーサーが仕事をしている間、HUDがそこで取得した進捗状況を表示したいと思います:https ://github.com/jdg/MBProgressHUD
これが私がプログレスHUDを示す方法です:
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:NO];
hud.labelText = @"Update";
次に、作成したクラスを使用してパーサーを開始します。
[dm parseXMLAtURL:[NSURL URLWithString:@"myXML.xml.php"]];
これがフルクラスのメソッドです:
- (void)parseXMLAtURL:(NSURL *)XMLUrl {
NSXMLParser *parser = [[NSXMLParser alloc] initWithContentsOfURL:XMLUrl];
[parser setDelegate:self];
NSLog(@"start");
[parser parse];
}
XMLを解析する前に、明らかにMBProgressHUD
beforeを呼び出しますが、方法はありませんMBProgressHUD
。パーサーがジョブを終了すると、が表示されます。
この問題は、スタック管理が原因である可能性があります。彼が他の人よりも先に最も長い仕事をしている場合(完全なXMLの解析には6〜7秒かかります)私は正しいですか、それとも別の問題である可能性がありますか?そして、私が正しければ、どうすればこれを管理できますか?