[Swift 기초] - 열거형(Enumeration)

justdotheg·2023년 10월 31일
0
post-thumbnail

목차
1. '열거형(Enumeration)'이란?
2. 열거형(Enumeration)의 사용법
2.1. switch-case문과 사용해보기
2.2. 열거형(Enumeration)에 자료형을 지정해보기

1. '열거형(Enumeration)'이란?

'열거형(Enumeration)'은 비슷한 값들을 그룹으로 묶어서 정의를 하고, 함수에서 값을 입력을 받을 때 미리 정해진 값을 한정해서 받을 때 유용하게 사용한다.

  • swift에서는 인자에 " . " 으로 열거형의 변수 타입을 주는 경우가 많다.

  • 키워드는 enum이고, enum문 안에는 case로 열거할 대상을 정의한다.

  • 열거형의 이름은 구조체나 클래스처럼 대문자로 시작한다.

  • 아래와 같이 " . " 으로 열거형의 변수 타입을 축약해서 표현할 수 있다.

    var os1: AppleOS = AppleOS.macOS
    var os2: AppleOS = .macOS
  • 열거형의 경우 xcode에서 (.)만 눌러도 목록이 조회된다.

2. 열거형(Enumeration)의 사용법

2.1. switch-case문과 사용해보기

열거형은 switch문과 같이 사용하는 경우가 많다.

  • swift에서 switch-case문은 default절을 쓰지 않으면 기본적으로 에러가 발생한다.

  • "모든 케이스"에 대해 case문을 작성해준다면 default문을 쓰지 않아도 에러가 발생하지 않는다.
  • 열거형 osType의 모든 케이스(iOS, macOS, tvOS, watchOS)에 대해서 case문을 적어주었다.

2.2. 열거형(Enumeration)에 자료형을 지정해보기

  • Int형 열거형을 정의해보자.
    아래 예시와 같이
    1) 열거형에는 자료형을 지정할 수 있으며
    2) 값을 초기화하여 정의할 수 있으며
    3) 뒤에 열거 요소들의 값 초기화를 생략하면 Int형의 경우 1씩 증감된 값으로 초기화된다.

  • 아래의 예시를 보면 1이 출력될 것 같지만, one이 출력된다.

  • num의 int 값 1을 출력하고 싶다면, 아래와 같이 열거형의 rawValue 함수를 호출해야 한다.

  • 열거형의 자료형으로 String을 지정해보자.
  • "dd"가 아닌 alpha에 초기값으로 넣어준 "DD"를 출력하고 싶다면, 열거형의 rawValue 함수를 호출해야 한다.

0개의 댓글