<分区>
看起来 Swift 中的枚举无法进行相等性比较。这是我希望工作的代码:
let areEqual = MyEnum.SomeEnumValue == MyEnum.SomeEnumValue
但是,这不会编译并抛出错误:无法使用类型为“(MyEnum, MyEnum)”的参数列表调用“==”
。
是否可以使用 ==
运算符比较 2 个枚举值,或者我是否真的为此编写了 switch-case?
编辑
这是自包含的例子。将它转到 playground,你应该会看到编译错误。
import UIKit
enum MyEnum {
case SomeValue(Int)
case OtherValue(Double)
case ThirdValue
}
let areEqual = MyEnum.ThirdValue == MyEnum.ThirdValue
看起来有点像 Swift 错误,因为它可以让您比较没有关联值的枚举而不会提示。所以我希望这不是预期的行为(允许比较一些枚举而不是其他枚举)。