【发布时间】:2018-12-20 08:37:05
【问题描述】:
我有一个关联值的枚举,为了测试目的,我想使其相等,但不知道这种模式如何处理具有多个参数的枚举案例。
例如,总结如下,我知道使标题相等的语法。对于包含不同类型的多个值的选项,这将如何工作?
enum ViewModel {
case heading(String)
case options(id: String, title: String, enabled: Bool)
}
func ==(lhs: ViewModel, rhs: ViewModel) -> Bool {
switch (lhs, rhs) {
case (let .heading(lhsString), let .heading(rhsString)):
return lhsString == rhsString
case options...
default:
return false
}
}
我知道 Swift 4.1 可以为我们综合 Equatable 的一致性,但目前我无法更新到这个版本。
【问题讨论】:
标签: swift enums equatable associated-value