第 17 课2026.09.23
只对已有课程数量大于零的成功状态显示列表入口。
第 17 课:为 if case 附加数量条件
- 日期:2026-09-23
- 课程序号:第 17 课
- 知识点:模式匹配后的附加布尔条件
用途或适用场景
只对已有课程数量大于零的成功状态显示列表入口。
核心概念
先用 if case 绑定 .ready 的 count,再用逗号后的条件筛选正数;未匹配时不会读取 count。
最小代码或操作示例
swift
enum LoadState {
case loading
case ready(count: Int)
case failed(message: String)
}
let state = LoadState.ready(count: 3)
if case .ready(let count) = state, count > 0 {
print("显示 \(count) 节课程")
}3~5 分钟练习
把数量改为 0,再观察输出。
参考答案
不输出,因为模式匹配成功但附加的 count > 0 条件不成立。
与上一课的联系
沿用第 16 课的 LoadState 和 if case 单分支匹配;本课只新增对已绑定 count 的附加条件;完成后下一课可用 guard case 提前排除非成功状态。
时效校验
时效校验:2026-09-24(Swift 官方语言书当前 Control Flow 与 Enumerations;模式匹配及条件列表未见废弃标记)。