Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- iOS프로그래밍
- Swfit
- 클린소프트웨어
- 네이밍
- interface
- IOS
- 인터페이스
- 의도
- 부스트코스
- 의존성
- POP
- 아이폰프로그래밍
- Solid
- 협업
- 객체지향프로그래밍
- protocol
- SWIFT
- 문법
- fp
- OOP
- 개발자
- 함수형프로그래밍
- CleanCode
- 개발
- DesignPattern
- 이름
- 클린코드
- 디자인패턴
- 함수형패러다임
- 고차함수
Archives
- Today
- Total
밤에 쓴 코드
Swift) 열거형 - Enumeration 본문
enum
switch
구문을 사용시 수 많은 값이 입력될수 있음을 예측한다.enum
을 이용하면 더 적은 사항을 컴퓨터가 고려할 수 있습니다.
- 하나로 연관된 주제를 하나의 타입으로 묶어서 사용
- 조금더 안전한 방식으로 다룰 수 있게 해준다.
상황
- 제한된 값 만 입력받고 싶을 때
- 제한된 값만 선택할수 있게 제한하고싶을 때
예시
// 열거형 : rawValue
enum Unit : String {
case cm = "cm"
case m = "m"
case inch = "inch"
case yard = "yard"
case g = "g"
case kg = "kg"
case oz = "oz"
case lb = "lb"
// 함수도 내포할수 있다
func defaultUnit ()->Unit{
switch self {
case .cm,.m,.inch,.yard:
return .m
case .g,.kg,.oz,.lb:
return .kg
case .error:
return .error
}
}
}
rawValue: 열거형 해당 case에 관련된 값
Associated Values
- 열거형 케이스에 추가적인 정보를 내포할수있게한다.
enum image{
// 알파값이 필요하다
case png(Int,Int,Double)
case jpeg(Int,Int)
...
}
enum
은 내부적으로 enum
을 내포할수 있다.
-
조금더 논리적으로 계층적인 구조를 표현하기 좋다
enum Unit{ enum Length{ case cm,m,inch,yard(Double) } enum Volume{ case L,pt,qt,gal(Double) } enum Weight{ case g,kg,oz,lb(Double) } } let input = Unit.Volume.L(100)
'Swift' 카테고리의 다른 글
Swift) POP - Protocol Oriented Programming (1) | 2019.04.25 |
---|---|
Swift) Extension - 익스텐션 (0) | 2019.04.25 |
Swift) 옵셔널 - Optional (0) | 2019.04.18 |
Swift) 프로토콜 - Protocol (0) | 2019.04.11 |
Swift) 구조체/변수/상수 (0) | 2019.04.08 |
Comments