동기 vs 비동기
1️⃣ 동기?
- 요청과 결과가 동시에
2️⃣ 비동기?
- 요청에 대한 결과가 언제 나타날 지 모름
모바일 개발에서 비동기 작업은 굉장히 많음!
- 서버에서 데이터를 받아와서 페이지에 보여주는데 걸리는 시간
- 사용자의 버튼 인터렉션 (언제 버튼을 클릭할 지 모르는 것)
📌 Combine?
- 효율적인 비동기 처리 방식
- 여러 비동기 처리 방식들 (Target/Action, Notification Center...) 대신 통합된 비동기 처리방식이 필요하여 Combine 등장
- 일관된 방식으로 비동기 처리할 수 있는 API를 Combine으로 제공!
🍎 Apple이 정의한 Combine!
- A unified, declarative API for processing values over time
Combine의 주요 Component
1️⃣ Publisher
- 생산자
2️⃣ Subscriber
- 소비자
3️⃣ Operator
- 가공자
Event Stream(Event Pipeline)
- Publisher → Operator → Subsciber
- 위와 같은 순서에서 어떠한 이벤트들이 생길지 모르니, Combine이라는 비동기 Framework가 필요함!
Reference
- 패스트 캠퍼스
'iOS' 카테고리의 다른 글
[iOS] 네트워크 왕 기초 개념 (0) | 2022.07.14 |
---|---|
[iOS] Combine (2) : Publisher / Subscriber / Operator (0) | 2022.07.03 |
[iOS] Navigation과 Modal (0) | 2022.06.29 |
[iOS] Diffable DataSource, SnapShot, Compositional Layout (0) | 2022.06.04 |
[iOS] UICollectionView와 UIScrollView 사이의 관계 (0) | 2022.05.30 |