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
- 스위프트
- Clean Code
- 리펙토링
- HIG
- swift documentation
- ribs
- UICollectionView
- Refactoring
- MVVM
- 리펙터링
- 애니메이션
- Protocol
- SWIFT
- UITextView
- map
- ios
- Observable
- Human interface guide
- clean architecture
- uiscrollview
- 리팩토링
- combine
- tableView
- Xcode
- rxswift
- RxCocoa
- collectionview
- 클린 코드
- swiftUI
- uitableview
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[iOS - swift 공식 문서] 5. Control flow (흐름 제어) 본문
For - in 루프
- stride(from:to:by:)
- stride(from:through:by:): through 포함
While 루프
- repeat - while: 조건을 고려하기 전 repeat블록을 부조건 한번 실행
repeat {
} while <condition>
조건문
- switch 문의 암시적 fall through
- case문을 여러개 사용하지 않고, 컴마로 구분하여 'or 조건' 사용
(주의: if문에서는 콤마가 'end 조건')
- case문을 여러개 사용하지 않고, 컴마로 구분하여 'or 조건' 사용
let anotherCharacter: Character = "a"
// 컴파일 에러
switch anotherCharacter {
case "a":
case "A":
print("The letter A")
default:
print("Not the letter A")
}
// 정상 동작
switch anotherCharacter {
case "a", "A":
print("The letter A")
default:
print("Not the letter A")
}
- switch 문의 명시적 fall through
let integerToDescribe = 5
var description = "The number \(integerToDescribe) is"
switch integerToDescribe {
case 2, 3, 5, 7, 11, 13, 17, 19:
description += " a prime number, and also"
fallthrough
default:
description += " an integer."
}
print(description)
- switch의 case에 범위 사용
let approximateCount = 62
let countedThings = "moons orbiting Saturn"
let naturalCount: String
switch approximateCount {
case 0:
naturalCount = "no"
case 1..<5:
naturalCount = "a few"
case 5..<12:
naturalCount = "several"
case 12..<100:
naturalCount = "dozens of"
case 100..<1000:
naturalCount = "hundreds of"
default:
naturalCount = "many"
}
print("There are \(naturalCount) \(countedThings).")
- switch문에 tuple 사용
let somePoint = (1, 1)
switch somePoint {
case (0, 0):
print("\(somePoint) is at the origin")
case (_, 0):
print("\(somePoint) is on the x-axis")
case (0, _):
print("\(somePoint) is on the y-axis")
case (-2...2, -2...2):
print("\(somePoint) is inside the box")
default:
print("\(somePoint) is outside of the box")
}
// Prints "(1, 1) is inside the box"
- binding기능: case에 let으로 선언할 경우, 값 binding
let anotherPoint = (2, 0)
switch anotherPoint {
case (let x, 0):
print("on the x-axis with an x value of \(x)")
case (0, let y):
print("on the y-axis with a y value of \(y)")
case let (x, y):
print("somewhere else at (\(x), \(y))")
}
// Prints "on the x-axis with an x value of 2"
- where 조건
let yetAnotherPoint = (1, -1)
switch yetAnotherPoint {
case let (x, y) where x == y:
print("(\(x), \(y)) is on the line x == y")
case let (x, y) where x == -y:
print("(\(x), \(y)) is on the line x == -y")
case let (x, y):
print("(\(x), \(y)) is just some arbitrary point")
}
// Prints "(1, -1) is on the line x == -y"
API 버전 가용성
- if #available 사용
if #available(iOS 10, macOS 10.12, *) {
// Use iOS 10 APIs on iOS, and use macOS 10.12 APIs on macOS
} else {
// Fall back to earlier iOS and macOS APIs
}
'swift 공식 문서' 카테고리의 다른 글
[iOS - swift 공식 문서] 7. Closure (클로저) (0) | 2021.06.24 |
---|---|
[iOS - swift 공식 문서] 6. Functions (함수) (0) | 2021.06.23 |
[iOS - swift 공식 문서] 4. Collection Types (컬렉션 타입) (0) | 2021.06.19 |
[iOS - swift 공식 문서] 3. String (문자열) (0) | 2021.06.18 |
[iOS - swift 공식 문서] 2. Basic Operators (기본 연산자, Nil-Coalescing, One-Sided Ranges) (0) | 2021.06.17 |
Comments