未熟学生エンジニアのブログ

TetsuFeの個人開発ブログ

TetsuFeはテツエフイー と読みます。FlutterやWeb周り全般、チーム開発について語るブログ

Switch must be exhaustive do you want to add missing cases?とエラーが出る時の対処法

enumを網羅しているのに、Switch must be exhaustive do you want to add missing cases?と出て、?となったので、その時の対処法。

これは、以下のようにEnum型をIimplicitly unwrapped optional型やoptional型で定義しているときにおこります。

enum MyEnum{
    case a
    case b
}

var myEnum : MyEnum?

switch myEnum{ //ここでエラー!
case .a:
    // do somethingA
case .b:
    // do somethingB
}

これは、以下のようにmyEnumをunwrapすれば解決です。

switch myEnum! { //OK!
case .a:
    // do somethingA
case .b:
    // do somethingB
}

変なところで詰まってしまいました・・・