Mam ENUM:Enum przypadek '...' nie jest członkiem typu '...'
enum State {
case FullOpen
case HalfOpen
case Closed
}
i ten kod:
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
}
}
Mam błąd na każdy switch statement:
Enum case 'FullOpen' not found in type 'State!'
Enum case 'HalfOpen' not found in type 'State!'
Enum case 'Closed' not found in type 'State!'
Nie do końca rozumiem dlaczego. Czy ktoś może mi wyjaśnić?
Zasadniczo nie zaleca się deklarować zmienne typu enum jak wszelkiego rodzaju optionals ponieważ enum jest zaprojektowany, aby zawsze mieć określony stan. – vadian
Zdarzenie, jeśli jest niejawnie rozwinięty opcjonalnie 'Stan!', Nadal musisz dodać '!' – onmyway133