Swiftのenumは引数を持つことができ、またswitch-caseを利用する際に展開することが可能です。
enum Hoge case Fuga(Int) case FugaFuga(myId: Int)
func check(arg0: Hoge) { switch(arg0) { case let .Fuga(myarg): println("Fuga's arg : \(myarg)") case let .FugaFuga(myId): println("FugaFuga's arg 'myId' : \(myId)") } } func test() { check(Hoge.Fuga(1)) // -> Fuga's arg: 1 check(Hoge.FugaFuga(myId: 2)) // -> FugaFuga's arg 'myId' : 2 }
引数に名前を付けると接頭辞が必要になりますが、名前を付けない場合は接頭辞が必要ありません。