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
- ObservableObject
- 소프트웨어분석및설계
- swift문법
- OS
- Apple Developer Academy @ POSTECH
- Swift 디자인패턴
- 네이버 치지직
- 애플 아카데미 후기
- Swift 기능
- react
- 애플 디벨로퍼 아카데미 후기
- SWIFT
- iOS 개발 오류
- 치지직
- useReducer
- 앱 비교 프로젝트
- global soop
- 네이버 부스트캠프
- apple developer academy 후기
- 애플 디벨로퍼 아카데미
- 데이터베이스 공부
- sqoop
- 숭실대
- Swift 문법
- 데이터베이스
- ObservedObject
- StateObject
- 애플 디벨로퍼 아카데미 21주차 회고
- 운영체제
- 제앱소
Archives
- Today
- Total
사과하는 제라스
[Swift 문법] enum의 사용법 본문
목차
728x90
반응형
최근 부스트캠프를 하면서 정말 다른 언어에서 자주 써봤지만 가장 많이 헷갈렸던 타입이 열거형(enum)이었다.
이에 대한 활용 정리가 필요할 것 같아서 정리해본다.
// 이렇게 여러개의 case로 나눠서도 작성할 수 있고,
enum Country {
case Seoul
case Incheon
case Daegu
case Busan
}
// 이렇게 한번에 한 줄로 작성할 수도 있다.
enum Country {
case Seoul, Incheon, Daegu, Busan
}
근데 만약에 내가 각 Case에 대해 값을 배정해두고 싶다면,
// 이렇게 각 case에 대해 값을 배정해둘 수 있다.
enum Country: Int {
case Seoul = 1
case Incheon = 2
case Daegu = 3
case Busan = 4
}
또는 내가 각 case에 대해 서로 다른 return 값을 받고 싶다면, 다음과 같이 작성할 수도 있다.
enum Country {
case Seoul(name: String)
case Incheon(name: String)
case Daegu(name: String)
case Busan(name: String)
}
근데 이러면... 각 case에 따라 name을 받아오는 작업을 못할 수도 있잖아...?
그럼 이렇게도 쓸 수 있다.
enum Country {
case Seoul(name: String)
case Incheon(name: String)
case Daegu(name: String)
case Busan(name: String)
func getName()-> String {
switch self { // 스스로를 switch해보고 이 중 맞는 case 함수를 실행한다.
case .Seoul(let name): // 이
return name
case let .Incheon(name):
return name
case let .Daegu(name):
return name
case .Busan(let name):
return name
}
}
}
728x90
반응형
'제라스의 iOS 공부 > Swift 문법' 카테고리의 다른 글
[Swift 문법] class func와 static func (0) | 2023.08.18 |
---|---|
[Swift 문법] 고차함수 with 클로저 (0) | 2023.08.18 |
[Swift 문법] inout 메소드 매개변수 (0) | 2023.08.17 |
[Swift 문법] 딕셔너리 타입 초기화 방법 (0) | 2023.08.17 |
[Swift 문법] Closure를 알아보자! (0) | 2023.08.17 |