iOS
[iOS] Combine (1) : Overview
yevdev
2022. 7. 3. 15:42
동기 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
- 패스트 캠퍼스