NSURLSession:如何增加URL请求的超时时间?

我正在使用iOS 7的新版NSURLSessionDataTask本来检索数据,如下所示:

NSURLSession *session = [NSURLSession sharedSession];

NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:

request completionHandler:

^(NSData *data, NSURLResponse *response, NSError *error) {

//

}];

如何增加超时值以避免错误"The request timed out"(在 NSURLErrorDomainCode =中-1001)?

我已经检查了NSURLSessionConfiguration的文档,但是没有找到设置超时值的方法。

谢谢您的帮助!

回答:

对象

NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration defaultSessionConfiguration];

sessionConfig.timeoutIntervalForRequest = 30.0;

sessionConfig.timeoutIntervalForResource = 60.0;

迅速

let sessionConfig = URLSessionConfiguration.default

sessionConfig.timeoutIntervalForRequest = 30.0

sessionConfig.timeoutIntervalForResource = 60.0

let session = URLSession(configuration: sessionConfig)

文档怎么说

timeoutIntervalForRequesttimeoutIntervalForResource指定请求和资源的超时间隔。

-等待其他数据时使用的超时间隔。每当有新数据到达时,与该值关联的计时器就会重置。当请求计时器达到指定的间隔但未接收到任何新数据时,它将触发超时。

-资源请求应允许的最长时间。该值控制放弃之前等待整个资源传输的时间。资源计时器在发起请求时启动,并计数直到请求完成或达到此超时间隔(以先到者为准)。

基于NSURLSessionConfiguration类的参考

以上是 NSURLSession:如何增加URL请求的超时时间? 的全部内容, 来源链接: utcz.com/qa/429419.html

回到顶部