NSURLRequest超时值是否会覆盖NSURLSessionConfiguration timeoutIntervalForRequest值?

时间:2015-08-04 09:51:27

标签: nsurlrequest nsurlsession nsurlsessiondatatask

我正在创建一个<button id="btn1" >Toggle1</button> ` <button id="switch" >Toggle2</button> <img class="im1" src="image1_bw.jpg" /> <img class="im1 im2" src="image2_bw.jpg" /> <img class="im2 im3" src="image3_bw.jpg" /> <img class="im4" src="image4_bw.jpg" />` 配置= 120秒的NSURLSession对象。在此之后,我创建了一个$('#buttonswitch').on({ 'click': function() { $('#switch').attr('src','../swap/image1_bw_sec.jpg'); } }); 对象并调用方法timeoutIntervalForRequest。这里一个输入参数是NSURLSessionDataTask。在我创建NSURLRequest时,我可以指定一些参数,如timeout,cachePolicy等。但是在我创建dataTaskWithRequest:completionHandler时已经提到过这些参数。因此,如果我为NSURLRequest使用不同的值,那么这些值是否会覆盖NSURLSessionConfiguration值?

2 个答案:

答案 0 :(得分:4)

简而言之,是的。

根据Apple's document

  

在某些情况下,此配置中定义的策略可能会被为任务提供的NSURLRequest对象指定的策略覆盖。除非会话的策略更具限制性,否则将遵守在请求对象上指定的任何策略。例如,如果会话配置指定不允许蜂窝网络,则NSURLRequest对象不能请求蜂窝网络。

答案 1 :(得分:0)

我的回忆是,请求中的值优先于会话的值。话虽如此,我并非100%肯定,所以我会尝试并确保,假设它确实很重要。