반응형
Combine을 그래도 공부하다 보니까 이제서야 기본적인 틀이 갖춰진 것 같다. 이때까지 비동기 프로그래밍을 할 줄 안다고 이력서에 거짓말을 치고 있었다는 것 또한 깨닫게 되었다..허허허허허헣
Combine은 다음과 같이 크게 3가지로 이루어져 있다고 말했다.
1. Publisher
2. Subscriber
3. Operator
Publisher, Subscriber에 관련된 내용은 어느정도 이해가 됐기 때문에 Operator의 정의에 대해서 알아보자
Operator는 그림과 같이 Publisher가 이벤트를 방출할 때 그 이벤트를 가공해서 Subscriber에게 전달해주는 역할을 한다.
좀 더 자세히 설명하면 다음과 같다.
- Publisher 프로토콜을 채택한다.
- 선언적이므로 값 타입이다.
- 값 변경, 추가, 제거 등 다양한 종류의 동작을 수행한다.
- upstream이라고 불리우는 다른 Publisher를 구독하고, 그 결과를 downstream이라고 불리는 subscriber에게 결과를 전송한다.
사실, operator의 개념은 그렇게 어렵지 않은 것 같다. 그냥 Publisher에서 방출한 값을 가공해서 Subscriber에게 전달하는 역할을 한다고 생각하면 된다.
그.러.나 굉장히 다양한 Operator들이 존재하고, 막상 실제 예제에서 Operator들을 봤을 때 팍! 이해가 되지 않아서 다음에는 자주 사용하는 Operator들을 살펴보는 시간을 갖겠다.
반응형
'iOS 개발 > Combine' 카테고리의 다른 글
[Combine] combine 정리2 (sink, handleEvents, receive) (0) | 2023.06.20 |
---|---|
[Combine] Publisher Future와 CompletionHandler의 차이 (0) | 2023.05.24 |
[Combine] CurrentValueSubject & PassthroughSubject 예제(2 - 1) (0) | 2023.05.18 |
[Combine] Subject 정의 및 예제(2) (0) | 2023.05.18 |
[Combine] Publisher & Subscriber란?(1) (0) | 2023.05.16 |