首页 > 解决方案 > 有没有办法只比较枚举类型并忽略其关联值?

问题描述

目前,我们有以下枚举。

enum Animal : Equatable {
    case dog(String)
    case cat(Int)
}

如果我们想比较枚举类型和它的关联值,我们可以简单地这样做。

let dog0 = Animal.dog("mimi")
let dog1 = Animal.dog("hihi")

if (dog0 == dog1) {
    print("same dog type and same name")
} else {
    print("not same dog")
}

不会打印同一只狗。

如果我们也想有能力只比较枚举类型而忽略它的关联值呢?

if (???) {
    print("same dog type (might be different name)")
} else {
    print("not same dog")
}

我可以知道,我们可以使用什么样的技术?

标签: iosswiftenums

解决方案


推荐阅读