我有一个枚举:
enum State {
case FullOpen
case HalfOpen
case Closed
}
和这段代码:
var stateForConversionView: State!
...
var previousState: State!
if true {
previousState = stateForConversionView!
switch previousState {
case .FullOpen:
stateForConversionView = .HalfOpen
case .HalfOpen:
stateForConversionView = .FullOpen
case .Closed:
stateForConversionView = .HalfOpen
default:
break
}
}
我在每个 switch 语句上都遇到错误:
Enum case 'FullOpen' not found in type 'State!'
Enum case 'HalfOpen' not found in type 'State!'
Enum case 'Closed' not found in type 'State!'
我真的不明白为什么。有人可以解释一下吗?
最佳答案
这样就可以正常工作了:
if true {
previousState = stateForConversionView
switch previousState! {
case .FullOpen:
stateForConversionView = .HalfOpen
case .HalfOpen:
stateForConversionView = .FullOpen
case .Closed:
stateForConversionView = .HalfOpen
default:
break
}
}
您需要添加!
。
有关更多信息,请参阅 THIS .
关于ios - 枚举案例 '...' 不是类型 '...' 的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31085936/