渐进式编程课
Swift 目录
第 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;模式匹配及条件列表未见废弃标记)。

官方参考