swift study 09. 열거형 (Enumeration)

jess·2022년 7월 10일
0

Swift

목록 보기
9/19
post-thumbnail

🍃 출처 : 앨런 swift 문법 마스터 스쿨

  • Basic Type: Int, Double, String, Bool...
    : 기본 타입

  • Custon Type: Enum, Class, Struct...
    : 개발자가 마음대로 만들어서 쓸 수 있는 사용자 정의 타입

    📓 열거형 (Enumeration)

1) 기본 개념
연관된 상수(케이스)들을 하나의 이름으로 묶은 자료형

enum Weekday {
    case monday
    case tuesday
    case wednesday
    case thursday
    case friday
    case saturday
    case sunday
}
  • 열거형은 타입이다.
  • gkdtkd switch문으로 분기처리 가능
var today: Weekday = Weekday.monday
today = .tuesday

2) 원시값 (RawValue)
: 매칭되는 기본값 (정수/문자열)을 정해, 열거형을 좀 더 쉽게 활용 가능

enum Alignment: Int {
   case left   //=0
   case center //=1
   case right  //=2
}
  • 자동으로 순서 매겨짐, 따로 설정도 가능
    <활용>
    : 숫자 또는 문자열과 매칭시켜 자유롭게 활동 가능
 // 가위 바위 보 열거형 만들기
enum RpsGame: Int {
    case rock
    case paper
    case scissors
}
// 실제 앱을 만들때는
RpsGame(rawValue: 0)
RpsGame(rawValue: 1)
RpsGame(rawValue: 2)

3) 연관값 (Associate Values)
: 구체적인 추가 정보를 저장하기 위해 사용

  • 각 케이스 별로 상이한 특징이 있고, 그것을 저장하고 활용한다
  • 개별 케이스마다 저장할 형식을 따로 정의한다
  • 하나의 케이스에 서로 다른 연관값을 저장할 수 있다
enum Computer {                         
    case cpu(core: Int, ghz: Double)
    case ram(Int, String)
    case hardDisk(gb: Int)
}
var chip = Computer.cpu(core: 8, ghz: 3.1)
  • 이렇게 카테고리의 개념

0개의 댓글