이번에는 Relay에 대해서 알아보도록 하겠습니다.
우선 Relay란 RxCocoa🥥에 속해있는 클래스 입니다.
Relay에는 크게
이렇게 두 클래스가 있는데요.
각 PublishRelay와 BehaviorRelay는 이름에서 알 수 있듯이 PublishSubject랑 BehaviorSubject의 wrapper 클래스 입니다!
그렇다면 Relay는 Subject랑은 어떻게 다를까요?
바로 이벤트를 방출하는 스타일에 있어서 Subject와 Relay가 구분됩니다.
Subject는 일반 Observable처럼 onNext, onError, onCompleted 이렇게 이벤트를 방출시킬 수 있었죠?
Relay는 onNext 대신 accept라는 이벤트를 방출합니다. accept가 onNext의 역할을 하는 것 입니다.
그리고 다른 onError나 onCompleted 이벤트는 모두 무시합니다.