Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS NSURLSession侦听超时_Ios_Delegates_Timeout_Nsurlsessiondownloadtask - Fatal编程技术网

iOS NSURLSession侦听超时

iOS NSURLSession侦听超时,ios,delegates,timeout,nsurlsessiondownloadtask,Ios,Delegates,Timeout,Nsurlsessiondownloadtask,我创建了一个简单的NSURLSessionDownloadTask从URL下载,其类具有NSURLSession委托: @interface DownloadManager : NSObject <NSURLSessionDataDelegate, NSURLSessionDelegate, NSURLSessionDownloadDelegate, NSURLSessionTaskDelegate> //... NSURLSessionConfiguration *sessio

我创建了一个简单的NSURLSessionDownloadTask从URL下载,其类具有NSURLSession委托:

@interface DownloadManager : NSObject <NSURLSessionDataDelegate, NSURLSessionDelegate, NSURLSessionDownloadDelegate, NSURLSessionTaskDelegate>

//...

NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration];
[sessionConfiguration setTimeoutIntervalForRequest:30.0];
[sessionConfiguration setTimeoutIntervalForResource:60.0];

NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfiguration];
NSURLSessionDownloadTask *downloadTask = [session downloadTaskWithURL:self.url];

[downloadTask resume];
@接口下载管理器:NSObject
//...
NSURLSessionConfiguration*sessionConfiguration=[NSURLSessionConfiguration defaultSessionConfiguration];
[sessionConfiguration SetTimeOutinerValforRequest:30.0];
[sessionConfiguration SetTimeOutinerValforResource:60.0];
NSURLSession*session=[NSURLSession sessionWithConfiguration:sessionConfiguration];
NSURLSessionDownloadTask*downloadTask=[session downloadTaskWithURL:self.url]会话;
[下载任务恢复];
但是,我找不到监听下载任务超时的协议方法。有没有办法监听超时(例如,我想在30.0秒过去,仍然没有收到数据时关闭一个进度对话框)

我已经搜索过谷歌,但到目前为止还没有找到任何信息,所以在搜索更多信息时,我将把这个问题留在这里


非常感谢

超时是NSURLSession在completionHandler块中给您的错误之一。它是
nsurlerortimedout=-1001

在委托方法中

- URLSession:task:didCompleteWithError:
检查N错误,如果它是
nsurerrortimedout
做你想做的事