728x90
반응형
열거형이란?
- 연관성이 있는 값들을 모아놓은 것
- 하나의 새로운 타입처럼 사용할 수 있다. (대문자로 시작해야 함)
열거형 예시
enum CompassPoint: String {
case north = "북"
case south = "남"
case east = "동"
case west = "서"
}
var direction = CompassPoint.east
direction = .west // 컴파일러가 direction 변수는 CompassPoint 타입이라는 것을 추론하기 때문에 열거형 이름을 생략하고 .내부항목 으로도 사용 가능
switch direction {
case .north:
print(direction.rawValue)
case .south:
print(direction.rawValue)
case .east:
print(direction.rawValue)
case .west:
print(direction.rawValue)
}
let direction2 = CompassPoint(rawValue: "남") // 원시값을 가지고 열거형을 반환하게 할 수 있음
- 열거형은 연관 값을 가질 수 있다.
- 열거형 내 항목이 자신과 연관된 값을 가질 수 있다는 것
- 연관값을 추가하려면 열거형 항목 옆 소괄호 ()를 통해 타입을 적어주면 된다.
- 연관 값을 추출하려면 switch 혹은 if 문을 사용하면 된다.
enum phoneError {
case unknown
case batteryLow(String)
}
let error = phoneError.batteryLow("배터리가 곧 방전됩니다.")
switch error {
case .batteryLow(let message):
print(message)
case .unknown:
print("알 수 없는 에러입니다.")
}
출처: [패스트캠퍼스] 30개 프로젝트로 배우는 iOS 앱 개발 with Swift 초격차 패키지 Online.
728x90
반응형