第4章 网络与API交互
在网络开发中,iOS应用需要与服务器进行数据交互,实现如获取数据、提交表单等操作。本章将详细介绍如何使用URLSession和Alamofire进行网络请求,并解析JSON数据,最终实现一个完整的RESTful API对接案例。
4.1 URL_Session网络请求
4.1.1 URL Session简介
URLSession 是 Apple 提供的用来处理网络请求的框架,支持 GET、POST、DELETE 等 HTTP 方法。
示例:GET 请求
let url = URL(string: "https://api.example.com/data")!
let task = URLSession.shared.dataTask(with: url) { (data, response, error) in
if let error = error {
print("Error: \(error)")
return
}
if let data = data {
// 处理返回的 data
print(String(data: data, encoding: .utf8))
}
}
task.resume()
示例:POST 请求
var request = URLRequest(url: URL(string: "https://api.example.com/post")!)
request.httpMethod = "POST"
request.httpBody = "name=John&age=30".data(using: .utf8)
let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
// 同样处理数据
}
task.resume()
4.2 JSON数据解析
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。iOS 使用 Codable
协议来解析 JSON 数据。