我使用的是iOS 7的新NSURLSessionDataTask
如下检索数据:
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:
request completionHandler:
^(NSData *data, NSURLResponse *response, NSError *error) {
//
}];
我怎样才能提高超时值,以避免错误qazxsw POI(在qazxsw POI代码= qazxsw POI)?
我已经检查了"The request timed out"
的文档,但没有找到一个方法来设置超时值。
谢谢您的帮助!
NSURLErrorDomain
-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)
- 等待附加数据时,超时间隔使用。与此值相关联的定时器复位,每当新数据到达。当请求定时器达到指定的时间间隔,而不会收到任何新的数据时,它触发一个超时。
timeoutIntervalForRequest
- 的一个资源请求应该被允许采取的最长时间。此值控制多长时间来等待整个资源在放弃前转移。当请求启动并计数任一方请求,直到完成或达到该超时间隔,以先到者为准资源计时器开始。
基于timeoutIntervalForResource
如果斯威夫特开发商来这里
要做到这一点,你需要使用
timeoutIntervalForRequest
在迅速3.超时15秒。
timeoutIntervalForResource
NSURLSessionConfiguration包括财产timeoutIntervalForRequest:
NSURLSessionConfiguration Class Reference
控制超时间隔。还有timeoutIntervalForResource为超时请求开始后。
在SWIFT 3.0,您需要使用
let urlconfig = NSURLSessionConfiguration.defaultSessionConfiguration()
urlconfig.timeoutIntervalForRequest = 12
urlconfig.timeoutIntervalForResource = 12
self.session = NSURLSession(configuration: urlconfig, delegate: self.delegates, delegateQueue: nil)
对于斯威夫特4:
let configuration = URLSessionConfiguration.default
configuration.timeoutIntervalForRequest = TimeInterval(15)
configuration.timeoutIntervalForResource = TimeInterval(15)
let session = URLSession(configuration: configuration)
该timeoutIntervalForRequest是在此基础上配置会话中的所有任务。该timeoutIntervalForResource是在此基础上配置会话中的所有任务。
以我为例,我增加了错误的类的超时。我超时错误通过增加URLRequest的超时不URLSession解决
@property NSTimeInterval timeoutIntervalForRequest