MST

星途 面试题库

面试题:Objective-C中如何初始化一个用于HTTP/2请求的NSURLSession对象

在Objective-C里,描述一下如何初始化一个能够支持HTTP/2协议的NSURLSession对象,包括必要的配置步骤,并说明如何设置请求的超时时间。
14.4万 热度难度
编程语言Objective-C

知识考点

AI 面试

面试题答案

一键面试
  1. 初始化支持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];
  1. 设置请求的超时时间
    • 可以在NSURLSessionConfiguration对象上设置请求的超时时间。
    • 示例代码如下:
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
// 设置请求的超时时间为15秒
configuration.timeoutIntervalForRequest = 15;
NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration delegate:nil delegateQueue:nil];
  • 这里timeoutIntervalForRequest属性设置的是请求的超时时间,单位是秒。如果在这个时间内请求没有完成,将会被取消。还有一个timeoutIntervalForResource属性,它设置的是获取资源的超时时间,这两个超时时间的概念略有不同,可根据实际需求选择使用。