我正在使用iOS 7的新功能NSURLSessionDataTask
检索数据如下:
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:
request completionHandler:
^(NSData *data, NSURLResponse *response, NSError *error) {
//
}];
如何增加超时值以避免错误"The request timed out"
(in NSURLErrorDomain
Code=-1001
)?
我已经检查过文档NSURLSession配置但没有找到设置超时值的方法。
感谢您的帮助!
ObjC
NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration defaultSessionConfiguration];
sessionConfig.timeoutIntervalForRequest = 30.0;
sessionConfig.timeoutIntervalForResource = 60.0;
Swift
let sessionConfig = URLSessionConfiguration.default
sessionConfig.timeoutIntervalForRequest = 30.0
sessionConfig.timeoutIntervalForResource = 60.0
let session = URLSession(configuration: sessionConfig)
文档说了什么
timeoutIntervalForRequest
and timeoutIntervalForResource
指定请求和资源的超时间隔。
timeoutIntervalForRequest
- 等待时使用的超时间隔
获取更多数据。与该值关联的计时器被重置
每当新数据到达时。当请求定时器达到
指定的时间间隔没有接收到任何新数据,就会触发
暂停。
timeoutIntervalForResource
- 的最长时间
资源请求应该被允许。该值控制如何
在放弃之前等待整个资源传输很长时间。这
资源计时器在请求发起时启动并计时,直到
请求完成或达到此超时间隔,
以先到者为准。
基于NSURLSessionConfiguration 类参考
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)