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

  • 패스트 캠퍼스