λΉλκΈ°(Asynchronous)
λΉλκΈ° μ²λ¦¬ λ°©μμ΄λ μμ μ λ 립μ μΌλ‘ λμμ μ€νν μ μλ νλ‘κ·Έλλ° κ°λ μ λλ€. κ° μμ μλ£λ λκΉμ§ κΈ°λ€λ¦΄ νμ μμ΄ νλ‘κ·Έλ¨μ΄ λ€μ μμ μ μνν μ μλλ‘ ν©λλ€. μ¦, λ³λ ¬μ μΌλ‘ μμ (task)μ μνν©λλ€.
λΉλκΈ° μ²λ¦¬ λ°©μμ μμ²μ λν κ²°κ³Όκ° μ£Όμ΄μ§λλ° μκ°μ΄ 걸리λλΌλ κ·Έ μκ° λμ λ€λ₯Έ μμ μ ν μ μμ΄ μμμ ν¨μ¨μ μΌλ‘ μ¬μ©ν μ μμ΅λλ€. νμ§λ§ λκΈ° λ°©μλ³΄λ€ λ³΅μ‘νκ³ taskμ μ€νμμκ° λ³΄μ₯λμ§ μλλ€λ λ¨μ μ΄ μμ΅λλ€.
λΉλκΈ° μ½λ
- λμ€μ μ μ μλ μκ°μ νΈμΆλ μ μλ μ½λ
- λ°λ‘ μ€νλμ§ μμ
- μ΄ν λΌμΈμ μλ μ½λκ° μ€νλλ κ²μ λ§μ§ μμ
- λ³΄ν΅ ν΄λ‘μ λ₯Ό ν΅ν΄ ν΄λΉ μμ μ μλ €μ€
- completionHandler νΉμ completion
λκΈ°(Synchronous)
λκΈ° μ²λ¦¬ λ°©μμ΄λ μμ²μ λ³΄λΈ ν μλ΅μ λ°μμΌλ§ λ€μ λμμ΄ μ΄λ€μ§ μ μλ νλ‘κ·Έλλ° κ°λ μ λλ€. μμ²μ λν κ²°κ³Όκ° μΌλ§λ 걸리λμ§ κ²°κ³Όκ° μ¬ λκΉμ§ κΈ°λ€λ €μΌ ν©λλ€. taskλ€μ΄ μ§λ ¬μ μΌλ‘ μνλμ΄, ν taskλ₯Ό μ²λ¦¬ν λμ λ€λ₯Έ taskλ€μ λκΈ°ν΄μΌ ν©λλ€.
λκΈ° μ²λ¦¬ λ°©μμ μ€κ³κ° λ§€μ° κ°λ¨νκ³ μ§κ΄μ μ΄μ§λ§, κ²°κ³Όκ° μ¬ λκΉμ§ κ³μ λκΈ°λ§ νκ² λμ΄ μμ€ν ν¨μ¨μ΄ μ νλ μ μμ΅λλ€.
Swiftμμ λΉλκΈ° μ²λ¦¬
swiftμμλ λ€μν λ°©λ²μΌλ‘ λΉλκΈ° μ²λ¦¬λ₯Ό ν μ μμ΅λλ€. GCD, async/await, Combine λ±λ± λ€μν λ°©λ²μ΄ μ νμμ μ 곡λλ©°, PromiseKit, Alamofire, RxSwift λ± λ€μν μΈλΆ νλ μμν¬μ λΌμ΄λΈλ¬λ¦¬κ° μ‘΄μ¬ν©λλ€.
λ€μν λΉλκΈ° μ²λ¦¬ λ°©μλ€ μ€ νλ‘μ νΈμ μꡬμ¬ν, swift λ²μ , μ½λ ꡬ쑰μ μν€ν μ² λ± λ€μν μμλ€μ κ³ λ €ν΄ μν©μ λ§κ² μ μ νκ² μ¬μ©ν μ μμ΅λλ€.
μ΄ν ν¬μ€νΈμλ GCDλΆν° μμλλ‘ λΉλκΈ° μ²λ¦¬ λ°©μμ λν΄ μμλ³΄λ €κ³ ν©λλ€.
'π iOS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[SwiftUI] Stack (VStack/HStack/ZStack) (0) | 2024.04.08 |
---|---|
[SwiftUI] Property Wrappers (0) | 2024.04.04 |
[SwiftUI] SwiftUIλ? (0) | 2023.03.15 |
Pinch Gesture (0) | 2023.01.13 |
Swipe Gesture (0) | 2023.01.12 |