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 |
Tags
- 리팩토링
- 스위프트
- collectionview
- tableView
- Protocol
- Observable
- 클린 코드
- MVVM
- swiftUI
- UITextView
- uiscrollview
- SWIFT
- Refactoring
- clean architecture
- 리펙터링
- swift documentation
- 애니메이션
- Human interface guide
- combine
- RxCocoa
- uitableview
- ribs
- 리펙토링
- map
- Xcode
- ios
- rxswift
- UICollectionView
- Clean Code
- HIG
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[iOS - swift] switch와 where을 같이 사용하는 방법 본문
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")
}
}
'iOS 기본 (swift)' 카테고리의 다른 글
[iOS - swift] Result 타입 (성공, 실패) (0) | 2021.02.26 |
---|---|
[iOS - swift] property 구분 방법 (stored property, computed property, lazy property) (0) | 2021.02.25 |
[iOS - swift] print vs NSLog (0) | 2021.02.24 |
[iOS - swift] @discardableResult (0) | 2021.02.19 |
[iOS - swift] 번들과 패키지(Bundle, package), Framework 개념 (0) | 2021.02.12 |
Comments