2016-10-12 6 views
0

これは可能ですか?スウィフト連想型列挙型のパラメータをフォールスルーで使用する

 switch type { 
     case let .dog(say): fallthrough 
     case let .cat(say): 
      print(say) 
     } 

これは有効な迅速な列挙型ではありませんが、これを行う方法はありますか? 基本的に私のenumはどちらも同じ大文字小文字のアクションを持っていますが、パラメータの値は異なります。スウィフト2.では動作しませんでした興味深い

答えて

2
switch type { 
case .dog(let say), .cat(let say): 
    print(say) 
} 
+0

、 - ここで同様の質問がhttp://stackoverflow.com/questions/33654074/fallthrough-in-a-switch-case-with-variable-declaration-ですin-swift(http://stackoverflow.com/questions/30545503/swift-switch-case-with-multiple-patterns-cannot-bind-to-variableの複製としてクローズされている)ので、Swiftの新しい回答が必要な場合があります3. –

+3

@MartinR Swift 3:https://github.com/apple/swift-evolution/blob/master/proposals/0043-declare-variables-in-case-labels-with-multiple-patternsに実装されています。 md – Alexander