假设我有一个带有关联值的枚举案例,并且有两个该枚举类型的变量:
假设我有一个带有关联值的枚举案例,并且有两个该枚举类型的变量:
enum MyEnum {
case foo, bar(_ prop: Int)
}
let var1 = MyEnum.foo
let var2 = MyEnum.bar(1)
如果我想检查两个变量是否与关联值匹配,我可以使用逗号:
if case .bar = var1, case .bar = var2 {
print("both are bar")
}
但是我需要检查是否有任一情况匹配,就像这样:
if case .bar = var1 || case .bar = var2 {
print("at least one is bar")
}
然而,这段代码不能编译。有没有其他的写法可以使这个逻辑起作用?
var isBar: Bool { return self == .bar }
呢? - Shehata Gamal