- 初始化支持HTTP/2协议的
NSURLSession
对象:
- 在iOS 9.0及以上,
NSURLSession
默认支持HTTP/2协议。首先创建一个NSURLSessionConfiguration
对象,并根据需求进行配置,然后用该配置创建NSURLSession
对象。
- 示例代码如下:
// 创建默认配置
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
// 创建NSURLSession对象
NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration delegate:nil delegateQueue:nil];
- 设置请求的超时时间:
- 可以在
NSURLSessionConfiguration
对象上设置请求的超时时间。
- 示例代码如下:
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
// 设置请求的超时时间为15秒
configuration.timeoutIntervalForRequest = 15;
NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration delegate:nil delegateQueue:nil];
- 这里
timeoutIntervalForRequest
属性设置的是请求的超时时间,单位是秒。如果在这个时间内请求没有完成,将会被取消。还有一个timeoutIntervalForResource
属性,它设置的是获取资源的超时时间,这两个超时时间的概念略有不同,可根据实际需求选择使用。