Swift 面试题
目录

Swift 中如何处理 URLSession 的响应?

· 约 4 分钟读完 · 第 148 / 196 章

推荐答案

本题详细解读

1. 创建 URL 对象

首先,我们需要创建一个 URL 对象,这个对象表示我们要请求的资源的地址。

2. 创建 URLSession 任务

使用 URLSession.shared.dataTask(with:completionHandler:) 方法创建一个数据任务。这个方法会返回一个 URLSessionDataTask 对象,我们稍后需要调用 resume() 方法来启动这个任务。

3. 处理响应

在 completionHandler 闭包中,我们会接收到三个参数:

  • data: 服务器返回的数据。
  • response: 服务器的响应,通常是一个 HTTPURLResponse 对象。
  • error: 请求过程中发生的错误。

3.1 检查错误

首先检查是否有错误发生。如果有错误,打印错误信息并返回。

3.2 检查响应状态码

接下来,检查响应状态码是否在 200 到 299 之间,这表示请求成功。如果状态码不在这个范围内,打印错误信息并返回。

3.3 检查数据

确保我们接收到了数据。如果没有数据,打印错误信息并返回。

3.4 处理数据

最后,我们可以处理接收到的数据。在这个例子中,我们尝试将数据解析为 JSON 对象。

4. 启动任务

最后,别忘了调用 resume() 方法来启动任务。

通过以上步骤,我们可以在 Swift 中处理 URLSession 的响应。