第 16 课2026.09.22
只有加载失败时记录错误消息,不必为其他状态写完整 switch。
第 16 课:用 if case 读取失败消息
- 日期:2026-09-22
- 课程序号:第 16 课
- 知识点:
if case匹配枚举单一分支
用途或适用场景
只有加载失败时记录错误消息,不必为其他状态写完整 switch。
核心概念
if case .failed(let message) = state 只在 .failed 时进入分支,并绑定关联值;它不替代上一课需要覆盖全部状态的 switch。
最小代码或操作示例
swift
enum LoadState {
case loading
case ready(count: Int)
case failed(message: String)
}
let state = LoadState.failed(message: "网络失败")
if case .failed(let message) = state {
print(message)
}3~5 分钟练习
把 state 改为 .ready(count: 3) 再运行。
参考答案
不输出消息,因为 .failed 模式没有匹配。
与上一课的联系
沿用第 15 课的 LoadState 与 .failed(message:);本课只在单分支场景使用 if case,不改上一课的穷尽描述函数;完成后下一课可给 .ready 的匹配再加数量条件。
时效校验
时效校验:2026-09-24(Swift 官方 The Swift Programming Language 当前 Enumerations 与 Control Flow;if case 未见废弃标记)。