如何使用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
相关产品推荐
相关产品推荐

