如何为每个NSURLRequest设置不同的到期超时

时间:2015-10-16 11:47:20

标签: ios nsurlsession alamofire nsurlsessionconfiguration

是否可以为每个请求设置不同的到期超时?

我找到的唯一方法是使用不同的NSURLSessionConfiguration创建一个新的NSURLSession并更改timeoutIntervalForResource。与Alamofire等框架相同。

2 个答案:

答案 0 :(得分:5)

你绝对可以做到这一点。您可以直接在NSMutableURLRequest上设置值,该值可以传递到Alamofire。

let URL = NSURL(string: "https://httpbin.org/get")!
let mutableURLRequest = NSMutableURLRequest(URL: URL)
mutableURLRequest.timeoutInterval = 5.0

Alamofire.request(mutableURLRequest)
    .responseJSON { response in
        debugPrint(response)
    }

更新

您无法控制每个请求timeoutIntervalForResourceNSURLRequest上的超时间隔属性相当于timeoutIntervalForRequest上的NSURLSessionConfiguration。更多详情here

答案 1 :(得分:-1)

是的,你可以这样做 -

使用此代码

[[[NSURLSession sharedSession] configuration] setTimeoutForResource:30];

您必须在不同的视图控制器中更改setTimeForResource。