SwiftUI 网络编程实战
第1章 理解网络请求核心概念
1.1_HTTP、HTTPS协议基础 1.2_理解RESTful API 1.3_JSON数据格式解析 1.4_HTTP请求方法 1.5_状态码的意义
第2章 使用URLSession发起请求
2.1_创建URL对象 2.2_配置URLRequest 2.3_使用dataTask发送GET请求 2.4_处理URLSession的回调 2.5_将接收到的Data转换为可用类型
第3章 处理POST请求与请求体
3.1_设置HTTP方法为POST 3.2_构建JSON请求体 3.3_使用JSONEncoder编码数据 3.4_设置HTTP请求头 3.5_发送并处理POST请求的响应
第4章 数据模型与解码 (Codable)
4.1_定义符合Decodable协议的数据结构 4.2_使用JSONDecoder解码JSON数据 4.3_处理嵌套JSON对象 4.4_处理JSON数组 4.5_自定义解码策略
第5章 状态管理与数据流
5.1_使用@State管理简单的视图状态 5.2_创建遵循ObservableObject协议的ViewModel 5.3_使用@Published发布数据变更 5.4_在视图中使用@StateObject或@ObservedObject订阅ViewModel 5.5_将网络数据显示在SwiftUI视图上
第6章 异步操作与主线程更新
6.1_理解并发与主线程安全 6.2_使用DispatchQueue.main.async更新UI 6.3_在ViewModel中封装异步网络调用 6.4_显示加载中(Loading)状态 6.5_处理并显示网络错误信息
第7章 使用Async/Await简化异步代码
7.1_将传统闭包回调重构为async函数 7.2_使用await调用异步函数 7.3_URLSession对async、await的支持 7.4_创建异步网络请求函数
第8章 SwiftUI与Async/Await集成
8.1_在.task视图修饰符中调用异步函数 8.2_处理异步任务的生命周期 8.3_在ViewModel中使用async、await获取数据 8.4_结构化并发:使用TaskGroup 8.5_任务取消(Task Cancellation)的处理
第9章 错误处理
9.1_使用do-catch语句处理throws函数 9.2_定义自定义错误类型 9.3_从网络层向上传递错误 9.4_在UI层优雅地展示错误信息
第10章 网络层抽象与设计
10.1_创建通用的APIService层 10.2_使用泛型构建可重用的请求函数 10.3_定义API端点_(Endpoints) 10.4_依赖注入(Dependency_Injection)网络服务 10.5_编写单元测试与模拟网络请求
第11章 处理复杂网络场景
11.1_处理认证与令牌(Token) 11.2_刷新令牌(Refresh_Token)机制 11.3_实现请求重试逻辑 11.4_文件上传与下载 11.5_配置URLSessionConfiguration
第12章 第三方库与性能优化
12.1_Alamofire库简介与集成 12.2_使用Alamofire简化请求 12.3_缓存策略:实现客户端缓存 12.4_图像的异步加载与缓存 12.5_使用Combine处理复杂数据流