是否可以枚举包含值的Enum案例数组,同时在同一行中过滤它们?
现在我正在做
let modes = [FilterMode]()
for mode in modes {
if case .categories(let data) = mode {}
}
我想做的事情是这样的
for mode in modes where case .categories(let data) = mode {}
或类似的东西。目前在Swift 3中可以实现吗?
答案 0 :(得分:3)
您不能在where
子句中使用模式匹配,但您可以
使用for
case
模式(自Swift 2起):
for case .categories(let data) in modes {
// ... use `data` ...
}
这也可以写成
for case let .categories(data) in modes { ... }