[ios/ swift] RxSwift - subject

2023. 1. 5. 23:38IOS

subject

Observable이자 Observer 로 PublishSubject, BehaviorSubject, ReplaySubject 총 3가지가 존재한다.

 

 

 

PublishSubject : 빈 상태로 시작해서 새로운 값을 subscriber에 방출한다. 즉 subscriber는 구독한 이후의 값들을 받을 수 있으며 이전의 값들은 받지 못한다.

 

 

 

 

BehaviorSubject : 하나의 초기값을 가진 상태로 시작해, 새로운 subscriber에게 초기값 또는 최신값을 방출한다.  subscriber는 구독하기 전의 값 하나를 받을 수 그것 이외의 이전 값들은 받지 못한다.

 

 

 

 

 

ReplaySubject : 버퍼를 두고 초기화하며, 버퍼 사이즈 만큼의 값들을 유지하면서 새로운 subscriber에게 방출한다.  subscriber는 버퍼 사이즈 만큼 이전의 값들을 받아올 수 있으며 그 이외의 이전 값들은 받지 못한다.