列挙型の主な使用例として、今回は列挙型を引数として取る関数を用意する例を紹介する。

まず、4つの値を持つ列挙型を定義する。

enum MensSize {
    case S, M, L, XL
}

次に、この列挙型を引数として取る関数を定義する。

func packing(size: MensSize) -> String {
    switch size {
    case .S:
        return "男性用Sサイズ"
    case .M:
        return "男性用Mサイズ"
    case .L:
        return "男性用Lサイズ"
    case .XL:
        return "男性用XLサイズ"
    }
}

最後にこの関数に値を渡し、実行してみる。

let msg = packing(size: MensSize.L)
print(msg)
// 男性用Lサイズ

このように列挙型を引数として取ることで、誤った値が関数に渡されることを防ぐことができる。