안녕하세요! 왈라비🦘 입니다.

이번에는 Relay에 대해서 알아보도록 하겠습니다.

우선 Relay란 RxCocoa🥥에 속해있는 클래스 입니다.

Relay에는 크게

이렇게 두 클래스가 있는데요.

PublishRelayBehaviorRelay는 이름에서 알 수 있듯이 PublishSubjectBehaviorSubject의 wrapper 클래스 입니다!

그렇다면 RelaySubject랑은 어떻게 다를까요?

바로 이벤트를 방출하는 스타일에 있어서 SubjectRelay가 구분됩니다.

Subject는 일반 Observable처럼 onNext, onError, onCompleted 이렇게 이벤트를 방출시킬 수 있었죠?

RelayonNext 대신 accept라는 이벤트를 방출합니다. acceptonNext의 역할을 하는 것 입니다.

그리고 다른 onErroronCompleted 이벤트는 모두 무시합니다.