参见英文答案 >
How to compare enum with associated values by ignoring its associated value in Swift?4个
考虑:
考虑:
enum Test { case foo case bar case baz case etc } var test: Test = ...
我想测试enum是否特别是bar.我可以使用switch语句:
switch test { case .bar: doSomething() default: break }
如果我可以改为使用if:
if test == .bar { doSomething() }
但除非我遗漏了什么,否则没有办法做到这一点:
二进制运算符’==’不能应用于两个’测试’操作数
这是否可能,如果不是,这是一个刻意的语言设计决定吗?
您可以使用if-case操作数
if case .foo = test { doSomething() }