小编Mad*_*uri的帖子

如何在Swift 4中测试带有关联值的枚举案例的等价性

我想测试枚举类型的几个变量的等效性,如下所示:

enum AnEnumeration {
  case aSimpleCase
  case anotherSimpleCase
  case aMoreComplexCase(String)
}

let a1 = AnEnumeration.aSimpleCase
let b1 = AnEnumeration.aSimpleCase
a1 == b1 // Should be true.

let a2 = AnEnumeration.aSimpleCase
let b2 = AnEnumeration.anotherSimpleCase
a2 == b2 // Should be false.

let a3 = AnEnumeration.aMoreComplexCase("Hello")
let b3 = AnEnumeration.aMoreComplexCase("Hello")
a3 == b3 // Should be true.

let a4 = AnEnumeration.aMoreComplexCase("Hello")
let b4 = AnEnumeration.aMoreComplexCase("World")
a3 == b3 // Should be false.
Run Code Online (Sandbox Code Playgroud)

可悲的是,这些都会产生这样的错误:

error: MyPlayground.playground:7:4: error: binary operator '==' cannot be …
Run Code Online (Sandbox Code Playgroud)

enums equality operators swift swift4

5
推荐指数
1
解决办法
479
查看次数

标签 统计

enums ×1

equality ×1

operators ×1

swift ×1

swift4 ×1