多くの言語とは異なり、Swiftswitch
は網羅的でなければなりません。
enum Enumeration
{
case A
case B
}
次に、このコードは無効です。
switch enumeration
{
case .A:
break
}
ただし、これらは有効です。
switch enumeration
{
case .A:
break
case .B:
break
}
switch enumeration
{
case .A:
break
default:
break
}
後で に追加case C
するEnumeration
と、最初の有効なコードでコンパイラ エラーが発生します。default:
をキャッチする を使用するため、2 つ目は有効です.C
。
semver carthage
(または Swift Package Manager) のサポートに準拠している場合、メジャー バージョンをインクリメントする必要がありますか?
これの拡張は、Objective-C (および暗黙的に C) に拡張されます。C 列挙は Swift 列挙として Swift でサポートされているため、これは Swift での使用を意図した Objective-C または C フレームワークにも適用されます。これらの言語にはそのような制限がないため、これを解決する方法がわかりません(コンパイラが優れている場合は警告のみ)。