2017-05-31 24 views
1

枚舉Enum案例與包含值,同時過濾它們在同一行中枚舉數組是可能的嗎?使用過濾器枚舉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中可能嗎?

回答

3

不能使用模式where子句中的匹配,但你可以使用 與for一個case模式(因爲斯威夫特2):

for case .categories(let data) in modes { 
    // ... use `data` ... 
} 

這也可以寫成

for case let .categories(data) in modes { ... }