티스토리 뷰

반응형

 

 

 

* 본 포스팅은 아래 핑구님의 블로그 내용을 참고해서 공부한 흔적입니다.
핑구님의 Combine 블로그 포스팅 링크 ▼

 

[iOS] Publisher & Subscriber - Combine 공부 2

안녕하세요 Pingu입니다.🐧 지난 글에서는 간단하게 Combine이 뭔지에 대해 알아봤습니다. 간단히 다시 요약해보면 Apple에서 2019년에 만든 새로운 프레임워크인데, 이걸 쓰면 비동기 이벤트를 간단

icksw.tistory.com

 

 


Combine 프레임워크는 무엇일까요..?

Combine은 2019년에 애플에서 직접 만든 내장 프레임워크로  iOS13부터 지원하는 프레임워크입니다. 이말은, iOS13 미만의 버전에서는 Combine 프레임워크 사용이 불가능하답니다. 😢 (이건 SwiftUI도 포함임..., RxSwift 라이브러리는 사용 가능)

Combine 프레임워크는 SwiftUI 등의 swift 코드와 함께 사용할 수 있고, 기존 사용하던 RxSwift 라이브러리 처럼 비동기 이벤트를 보다 간단하게 처리 가능하게 해주는 프레임워크입니다.

Combine 관련 개발자 문서 내용은 아래를 참고해주세요. (발번역이라 오역이 있다면 의견 부탁드려요 ㅠㅠ)

 

Combine framework 컴바인 개요, iOS 개발자문서 읽기

오늘은 Combine 프레임워크 개발자문서를 읽어 보도록 하겠습니다. 구글번역이 알아서 해석해주는 세상이지만, 공부차원에서 포스팅을 해봅니다. 의견 지적 언제든 댓글 환영합니다. Combine 프레

0urtrees.tistory.com

 

 


Combine Framework 주요 구성요소

Combine 프레임워크의 주요 구성요소는 크게 네가지가 있습니다.
- Publisher, Subscriber, Operator, Subscription

 

 

 

 


Publisher 프로토콜

- Publisher는 시간상 일련의 값들을 내보낼 수 있는 타입으로 protocol로 선언되어있습니다.
- Publisher 프로토콜은 Output, Failure(Subscriber) 타입이 제네릭으로 구현되어있습니다.

이후에 소개할 요소중 하나인 Operator(연산자)들 또한 Publisher 프로토콜을 준수하는 struct, class들입니다.  그 예를 들면, Just, Deferred, Empty, Fail 등이 있습니다. (전부 시간날때 포스팅으로 다뤄볼게요!)

 

 

 


Subscriber, 구독자 프로토콜

두번째는 Subscriber입니다.

- Subscriber는 Publisher로부터  값을 받을 수 있는 타입을 정의한 프로토콜입니다.
- Subscriber는 Publisher에게 값을 요청하고, Input을 받을 수 있습니다.
- Subscriber는 Input, Failure(Subscriber) 타입이 제네릭으로  구성되어있습니다.

 

 


Operator, 연산자

- Operator는 Publisher를 반환하는 Publisher 프로토콜에 정의된 메서드들을 총칭합니다. 
- 여러종류의 Operator들을  함께 Combine하여 사용이 가능하며, Operator를 통해 Publisher가 내보내는 값을 다양하게 처리 가능합니다.
- Operator는 Upstream, Downstream이라고 불리는 Input, Output을 가지고 있습니다.
- 위에 소개하는 struct 타입의 Just는 Operator 중 하나입니다. Just는 Publisher프로토콜을 준수하는 연산자, Operator중 하나로, 단 한번 값을 방출하고 끝내는 연산자입니다. Just 이 외로도 Combine에서 사용 가능한 다양한 Operator가 존재합니다.

 

 

 

 


Subscription, 구독

세번째는 Subscription 프로토콜입니다.

- Subscription은 Publisher와 Subscriber간의 연결을 표헌하는 프로토콜타입입니다. 
- Publisher + Operator + Subscriber로 이루어진 하나의 작업을 Subscription, 구독이라고 합니다.

 

 

반응형
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함