带有dispatch_async的NSXMLParser initWithContentsOfURL(dispatch_get_global_queue(0,0),^ {timeout

时间:2015-06-25 06:58:48

标签: nsxmlparser nsurl synchronous connection-timeout initwithcontentsofurl

我正在使用NSXMLParser的调度队列来获取xml数据并解析它。

我使用的代码如下:

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会被冻结,直到收到回复。

在上面的代码段中是否有任何方法可以实现超时。

感谢。

0 个答案:

没有答案