我正在使用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会被冻结,直到收到回复。
在上面的代码段中是否有任何方法可以实现超时。
感谢。