Swift:在类型中找不到枚举大小写
Swift : Enum case not found in type
我在这里搜索了很多问题,我找到了一个标题相似的问题Enum case switch not found in type,但没有适合我的解决方案。
我想使用自身突变的枚举来解决问题,即在各个州下一个交通灯的颜色是什么。
enum TrafficLights {
mutating func next() {
switch self {
case .red:
self = .green
case .orange:
self = .red
case .green:
self = .orange
case .none:
self = .orange
}
}
}
我已经将所有情况都作为可能的选项,但它仍然返回错误:
Enum 'case' not found in type 'TrafficLights'
案例必须在函数外声明:
enum TrafficLights {
case green
case red
case orange
case none
mutating func next() {
switch self {
case .red:
self = .green
case .orange:
self = .red
case .green:
self = .orange
case .none:
self = .orange
}
}
}
我在将 Int 转换为自定义枚举时遇到了同样的错误:
switch MyEnum(rawValue: 42) {
case .error:
// Enum case `.error` not found in type 'MyEnum?'
break
default:
break
}
问题是 MyEnum(rawValue: 42)
returns 是可选的。打开它或提供一个非可选的以允许打开枚举:
switch MyEnum(rawValue: 42) ?? MyEnum.yourEnumDefaultCase {
case .error:
// no error!
break
default:
break
}
我在这里搜索了很多问题,我找到了一个标题相似的问题Enum case switch not found in type,但没有适合我的解决方案。
我想使用自身突变的枚举来解决问题,即在各个州下一个交通灯的颜色是什么。
enum TrafficLights {
mutating func next() {
switch self {
case .red:
self = .green
case .orange:
self = .red
case .green:
self = .orange
case .none:
self = .orange
}
}
}
我已经将所有情况都作为可能的选项,但它仍然返回错误:
Enum 'case' not found in type 'TrafficLights'
案例必须在函数外声明:
enum TrafficLights {
case green
case red
case orange
case none
mutating func next() {
switch self {
case .red:
self = .green
case .orange:
self = .red
case .green:
self = .orange
case .none:
self = .orange
}
}
}
我在将 Int 转换为自定义枚举时遇到了同样的错误:
switch MyEnum(rawValue: 42) {
case .error:
// Enum case `.error` not found in type 'MyEnum?'
break
default:
break
}
问题是 MyEnum(rawValue: 42)
returns 是可选的。打开它或提供一个非可选的以允许打开枚举:
switch MyEnum(rawValue: 42) ?? MyEnum.yourEnumDefaultCase {
case .error:
// no error!
break
default:
break
}