2017-05-31 16 views
1

含まれている値を持つ列挙型の列を同じ行でフィルタリングしながら列挙できますか?フィルタを使用して列挙型の列挙列を列挙する

は、今私がやっている

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で現在可能ですか?

あなたは where句でパターンマッチングを使用することはできませんが、あなたは (スウィフト2以降) caseパターンで forを使用することができます

答えて

3

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

これも

for case let .categories(data) in modes { ... } 
のように記述することができます