티스토리 뷰
안녕하세요. 도미닉입니다.
오늘은 Enum 에 대해서 알아보겠습니다.
Enum 은 항목을 묶어서 표현할 수 있는 타입입니다.
예를 들어 무게에는 kg, g, mg 등이 있습니다.
아래와 같이 표현할 수 있습니다.
Enum 을 선언할 때는 첫 글자를 대문자로 선언해주어야 합니다.
이러한 Enum (열거형) 을 사용하면 장점이 weight 라는 단위는 mg, g, kg 중에 하나라고 단정지을 수 있습니다.
이러한 점이 별거 아닌 것 같아보일 수 있겠지만 weigth 라는 변수, 상수가 다양한 타입의 무궁무진한 값을 가질 수 있는 것에서
우리가 예측할 수 있는 값만 가질 수 있게 된다는 것은 엄청난 차이점이고 중요한 점이라고 생각합니다.
아래에서 Enum 의 다양한 사용방법을 알아보겠습니다.
1. CaseIterable 프로토콜을 채택하면 아래와 같이 allCases 라고 반복문에 돌릴 수 있습니다.
2. Associate Values
case 뒤에 소괄호를 쓰고 타입을 쓰면 해당 타입만을 연관 값으로 가지게 설정할 수 있습니다.
위와 같이 여러 타입의 데이터를 저장하기 위해서 사용할 수 있습니다.
3. Raw Values
아예 선언할 때 case 에 타입과 데이터를 지정해줄 수 있습니다. 이러한 것을 Raw Value 라고 합니다.
만약 아래 처럼 첫 값에만 1을 넣어주면 다음 케이스에 자동으로 2, 3, 4 등이 커져가며 순차적으로 저장됩니다.
아래처럼 String 타입을 가진다고 설정해놓고 값을 지정 안해주면 자동으로 자신의 이름을 String 타입으로 raw value 를 갖게 됩니다.
'IT > Swift' 카테고리의 다른 글
Swift 함수형 프로그래밍 (0) | 2019.05.10 |
---|---|
Swift Closure (0) | 2019.05.10 |
Swift Patterns and Pattern matching (0) | 2019.05.03 |
Swift Overriding and Overloading (0) | 2019.04.29 |
Swift Protocol and Polymorphism (0) | 2019.04.25 |
- Total
- Today
- Yesterday
- 단어
- 배열
- 애플
- 영어
- 프로그래밍
- Matlab
- 데이터베이스
- C
- 형용사
- 반복문
- 시원스쿨
- 뇌를 자극하는 C 프로그래밍
- 연습문제
- Xcode
- Apple
- IOS
- 매트랩
- 뇌를 자극하는 C프로그래밍
- MySQL
- exercise
- terascan
- 테라스캔
- database
- 함수
- 왕초보 영단어1
- 포인터
- 리눅스
- Swift
- 스위프트
- 프로그램
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |