从 Xcode 10.2 开始,当使用我在 Objective-C 中定义的枚举时,但在 Swift 5 switch 语句中,即使我已经用尽了所有可能的枚举值,我也会收到以下警告。
Switch covers known cases, but 'MyObjectiveCEnumName' may have additional
unknown values
Xcode 告诉我我应该通过以下方式解决这个问题
Handle unknown values using "@unknown default"
为什么会发生这种情况,我该怎么办?
例子
Objective-C 枚举
typedef NS_ENUM(NSUInteger, CardColor) {
CardColorBlack,
CardColorRed
};
Swift 5 switch 语句
var cardColor: CardColor = .black
switch (cardColor) {
case .black:
print("black")
case .red:
print("red")
}