我有一个关联值的枚举,我想将其设为可用于测试目的,但不知道这种模式如何与具有多个参数的枚举案例一起使用。
例如,总结如下,我知道使标题相等的语法。这对于包含不同类型的多个值的选项如何工作?
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 的一致性,但目前我无法更新到这个版本。