You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用OR运算符比较两个枚举值?

Swift枚举多值判断的正确写法

你原来的写法存在语法错误,Swift不支持将两个case模式匹配表达式用||直接拼接。下面是几种可行的实现方式:

  • 方法一:使用switch语句
    这是处理枚举多分支判断最标准的方式:

    switch itemStatus {
    case .locked, .hasHistoryLocked:
        print("YES")
    default:
        print("NO")
    }
    
  • 方法二:单if语句多模式匹配
    在同一个if case里用逗号分隔多个模式,等价于逻辑“或”:

    if case .locked, .hasHistoryLocked = itemStatus {
        print("YES")
    } else {
        print("NO")
    }
    
  • 方法三:数组contains判断
    将目标枚举值存入数组,利用contains方法判断是否匹配:

    if [.locked, .hasHistoryLocked].contains(itemStatus) {
        print("YES")
    } else {
        print("NO")
    }
    

内容的提问来源于stack exchange,提问作者Developer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 15:55:19