반응형
열거 형 케이스 '…'은 '…'유형의 멤버가 아닙니다.
열거 형이 있습니다.
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를 참조하십시오 .
조건 변수가 "상태"의 다른 유형에있는 경우. rawValue 속성을 사용해야합니다.
var previousState:String
previousState = stateForConversionView
switch previousState {
case State.FullOpen.rawValue:
stateForConversionView = .HalfOpen
case State.HalfOpen.rawValue:
stateForConversionView = .FullOpen
case State.Closed.rawValue:
stateForConversionView = .HalfOpen
default:break
}
임시 변수 ( previousState
) 를 만들 필요가 없습니다 . 열거 형으로 사용중인 속성을 풀면됩니다.
if true {
switch stateForConversionView! {
case .FullOpen:
stateForConversionView = .HalfOpen
case .HalfOpen:
stateForConversionView = .FullOpen
case .Closed:
stateForConversionView = .HalfOpen
default:
break
}
}
참조 URL : https://stackoverflow.com/questions/31085936/enum-case-is-not-a-member-of-type
반응형
'Program Tip' 카테고리의 다른 글
GitHub Atom-편집기에서 중심선 제거 (0) | 2021.01.10 |
---|---|
TypeScript GUID 클래스? (0) | 2021.01.10 |
마이크로 서비스 : 외래 키 관계를 처리하는 방법 (0) | 2021.01.08 |
가비지 수집기를 구현하는 방법은 무엇입니까? (0) | 2021.01.08 |
하나 (단일) 문자 최상위 도메인 이름을 가질 수 있습니까? (0) | 2021.01.08 |