【发布时间】:2015-11-06 22:12:42
【问题描述】:
我有以下枚举:
enum Message: ErrorType {
case MessageWithInfo(info:String?)
case MessageDidFail
case MessageDidSend(info:String)
case InvalidMessageData
case MessageWithDelay(delay:Double)
.... will keep adding more
}
我正在尝试弄清楚如何编写 Equatable 函数,然后让我比较 Message 枚举。
我发现了一些关于堆栈溢出的类似问题,但我找不到一个可以让我在不必打开每个案例的情况下进行比较的问题。
有没有办法编写一次 equatable 函数并让它工作,即使我不断向这个枚举添加更多案例?
【问题讨论】:
-
对于具有关联值的枚举,您必须自己显式地实现 ==。这意味着您必须打开所有可能的情况。我认为没有办法解决它。