열거형

enum 이름 {
case 이름1
case 이름2
case 이름3, 이름4, 이름5
...
}

열거형 사용


rawValue (원시값)


정수 타입 뿐만 아니라, Hashable 프로토콜을 따르는 모든 타입을 원시값의 타입으로 지정할 수 있다.

case university의 원시값을 우리가 지정해주지 않았다. 정수값도 아니기에 자동으로 1씩 증가하지도 않는다. 이 상황에서 university의 rawValue값을 부르면 어떤 결과가 나올까?
에러가 발생하는 것이 아니고, case의 이름을 원시값으로 사용한다.
원시값을 통한 초기화


rawValue를 통해 초기화한 열거형 값은 옵셔널 타입이다. 그래서 Fruit? 라고 써줘야 한다. 안그럼 에러 발생
if let 구문을 사용하면 rawValue에 해당하는 케이스를 곧바로 사용 가능!
메소드
Swift의 열거형에는 메소드도 추가할 수 있다.

'iOS > Swift' 카테고리의 다른 글
| [iOS 프로그래밍을 위한 스위프트 기초] Ch2. 다양한 표현 및 확장 - 17. 클로저 기본 (0) | 2021.07.22 |
|---|---|
| [iOS 프로그래밍을 위한 스위프트 기초] Ch2. 다양한 표현 및 확장 - 16. 클래스 vs 구조체 / 열거형 (0) | 2021.07.21 |
| [iOS 프로그래밍을 위한 스위프트 기초] Ch2. 다양한 표현 및 확장 - 14. 클래스 (0) | 2021.07.21 |
| [iOS 프로그래밍을 위한 스위프트 기초] Ch2. 다양한 표현 및 확장 - 13. 구조체 (0) | 2021.07.21 |
| [iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 12. 옵셔널 추출 (0) | 2021.07.18 |