열거형
- 열거형 : 연관성이 있는 값들을 모아놓은 것
- Keyword
enum, switch case, rawValue
원시값 (rawBalue)
- 열거형에서 원시값 사용
- 열거형 안에 인스턴스 메서드 사용 가능
enum CompassPoint: String {
case north = "북"
case south = "남"
case east = "동"
case west = "서"
func printDirection() {
print(self.rawValue)
}
}
var direction = CompassPoint.north
direction = .west
direction.printDirection()
var direction2 = CompassPoint(rawValue: "동")
direction2?.printDirection()
연관값 (Associated Value)
enum PhoneError {
case unknown
case batteryLow(String)
}
let error = PhoneError.batteryLow("배터리 부족!")
switch error {
case .batteryLow(let message):
print(message)
case .unknown:
print("알 수 없는 에러")
}