1

XMLデータを取得して解析するために、NSXMLParserでディスパッチキューを使用しています。

私が使用しているコードは次のとおりです。

dispatch_async( dispatch_get_global_queue(0, 0), ^{

            NSURL *urlNew = [NSURL URLWithString:url_GetData];
            NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithContentsOfURL:urlNew];
            xmlParser.delegate = self;
            // call the result handler block on the main queue (i.e. main thread)
            dispatch_async( dispatch_get_main_queue(), ^{
                // running synchronously on the main thread now -- call the handler
                [xmlParser parse];


            });
        });

しかし、サーバーの応答に時間がかかりすぎる場合は、エラー アラート メッセージを表示する必要があります。デフォルトのデリゲート メソッド内でアラートを表示しようとしましたが、期待どおりに動作しませんでした。

上記のコードに 30 秒のタイムアウトを設定するのを手伝ってください。

ディスパッチ キューを使用していない場合、応答が受信されるまで UI がフリーズします。

上記のコード スニペットでタイムアウトを達成する方法はありますか。

ありがとう。

4

0 に答える 0