0

以下のようにNSXLParserを初期化する場合:

NSXMLParser* xmlParser=[[NSXMLParser alloc] initWithContentsOfURL:[NSURL URLWithString:urlstring]];

サーバーがダウンしている場合、スレッドが戻るまでかなりの時間待機します。アプリケーションを終了してアプリケーションを再起動しても、本当に迷惑です。タイムアウトするまで、黒い画面で待機し続けます。

initを中止するにはどうすればよいですか?パーサーを呼び出す前にサーバーが稼働しているかどうかを確認するためのより良い方法はありますか?助けてくれてありがとう。

4

2 に答える 2

2

NSURLConnection とそのデリゲートを使用して、NSData タイプにダウンロードする必要があります。その後、接続を適切に制御できます。そこから NSData を NSXMLParser に渡し、個別に制御できます。お役に立てば幸いです。

于 2011-09-14T18:38:09.987 に答える
0

結局、UIWebViewを使用して最初にURLを要求しました。ロードが完了したら、xmlparserを呼び出して同じURLを再度リクエストします。UIWebViewリクエストの良いところは、UIがフリーズしないように、別のスレッドで実行されることです。

これは考えではありません。同じURLを2回リクエストするのは嫌です。より良い提案があれば、助けてください。

于 2010-05-13T21:42:17.947 に答える