相关疑难解决方法(0)

如何通过忽略Swift中的关联值来比较枚举与关联值?

在阅读如何使用关联值测试Swift枚举的相等性之后,我实现了以下枚举:

enum CardRank {
    case Number(Int)
    case Jack
    case Queen
    case King
    case Ace
}

func ==(a: CardRank, b: CardRank) -> Bool {
    switch (a, b) {
    case (.Number(let a), .Number(let b))   where a == b: return true
    case (.Jack, .Jack): return true
    case (.Queen, .Queen): return true
    case (.King, .King): return true
    case (.Ace, .Ace): return true
    default: return false
    }
}
Run Code Online (Sandbox Code Playgroud)

以下代码有效:

let card: CardRank = CardRank.Jack
if card == CardRank.Jack {
    print("You played a jack!") …
Run Code Online (Sandbox Code Playgroud)

comparison enums swift

75
推荐指数
5
解决办法
2万
查看次数

标签 统计

comparison ×1

enums ×1

swift ×1