Swift

Swift 열거형

eddie0329 2021. 11. 28. 20:18
반응형

📌 목록

  • 열거형 이란?
  • 기본 문법
  • 기본값 변경
  • 할당 문법
  • 연관 값 명시

📌 열거형 이란?

연관성이 있는 값을 모아 놓은 것을 말한다.

📌 기본 문법

enum CompassPoint: String {
  case north
  case south
  case east
  case west
  // case north, south, east, west -> 이렇게 한줄로도 표기 가능합니다.
}

var direction = CompassPoint.east // east
direction = .west // west -> 여기서 타입 추론이 이미 가능해졌기 떄문에 .으로만 접근이 가능

📌 기본 값 변경

기본값은 이렇게 변경을 해주면 됩니다.

enum CompassPoint: String {
  case north = "북"
  case south = "남"
  case east = "동"
  case west = "서"
  case none = "논"
}

var direction = CompassPoint.east // east
direction = .west // west

switch direction {
  case .north:
    print(direction.rawValue)
  case .west:
    print(direction.rawValue)
  case .east:
    print(direction.rawValue)
  case .south:
    print(direction.rawValue)
  default:
    print(direction.rawValue)
} 
// '서' 출력

📌 할당 문법

enum CompassPoint: String {
  case north = "북"
  case south = "남"
  case east = "동"
  case west = "서"
  case none = "논"
  // case north, south, east, west
}
let direction2 = CompassPoint(rawValue: "남") // south

📌 연관 값 명시

enum PhoneError {
  case unknown
  case batteryLow(String)
}

let error = PhoneError.batteryLow("배터리가 곧 방전됩니다.") // "배터리가 곧 방전됩니다."

// 연관값 추출
switch error {
  case .batteryLow(let message):
    print(message)
  case .unknown:
    print("알수 없는 에러")
}
// 배터리가 곧 방전됩니다.
반응형