Combine) Subscriber

Havi·2021년 4월 21일
0

Combine

목록 보기
3/8

Subscriber

Subscriber 는 publisher에게 input을 받을 수 있는 type을 선언하는 "프로토콜" 이다.

Declaration

protocol Subscriber : CustomCombineIdentifierConvertible

선언부가 publisher와는 조금 다르게 CustomCombineIdentifierConvertible이라는 프로토콜을 준수한다.

CustomCombineIdentifierConvertible

CustomCombineIdentifierConvertible프로토콜은 publisher streams를 unique하게 구분하는 프로토콜이다.

요러한 identifier를 가지고 있어야한다.

Overview

SubscriberPublisher에게 어떠한 요소의 스트림을 전달받는다.
SubscriberInputFailurePublisherOutputFailure 타입과 반드시 일치해야한다.

Publisher의 이벤트를 구독하는 방법은
1. subscribe(_:)
2. sink(receiveCompletion:receiveValue:)
3. assign(to:on:)
이렇게 3가지 방법이 있다.

Publishersubscribe(_:)를 호출함으로써 퍼블리셔는 구독자의 receive(subscription:) 함수를 invoke한다.

구독자가 initial demand를 만들면 publisher는 receive(_:)함수를 호출해 새 요소를 전달한다.

publisher가 방출을 종료하면 receive(completion:)이 호출된다.

profile
iOS Developer

0개의 댓글