제라스의 iOS 공부/Swift 문법
[Swift 문법] enum의 사용법
Xerath(제라스)
2023. 8. 16. 15:57
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
반응형