iOS 기본 (swift)
[iOS - swift] switch와 where을 같이 사용하는 방법
jake-kim
2021. 2. 25. 00:08
case 문에 where사용 방법
- for문과 동일하게 case문 뒤에 where을 사용하여 처리
switch personA?.job {
case let .engineering(year) where year == .junior :
print("junior engineering")
default:
print("others")
}
사용 예시
- 예시) 특정 사람의 직업을 print하는 코드
- 모델 정의
enum Job {
case engineering(Year)
case dentist(Year)
}
enum Year {
case junior
case senior
}
struct Person {
let job: Job
}
- case에 where 사용하여 print
var personA: Person? = nil
override func viewDidLoad() {
super.viewDidLoad()
personA = Person(job: .engineering(.junior))
}
private func printJobType() {
switch personA?.job {
case let .engineering(year) where year == .junior :
print("junior engineering")
case let .engineering(year) where year == .senior:
print("senior engineering")
default:
print("dentist")
}
}