IOS
[ios/ swift] RxSwift - subject
hyukji
2023. 1. 5. 23:38
subject
Observable이자 Observer 로 PublishSubject, BehaviorSubject, ReplaySubject 총 3가지가 존재한다.
PublishSubject : 빈 상태로 시작해서 새로운 값을 subscriber에 방출한다. 즉 subscriber는 구독한 이후의 값들을 받을 수 있으며 이전의 값들은 받지 못한다.
BehaviorSubject : 하나의 초기값을 가진 상태로 시작해, 새로운 subscriber에게 초기값 또는 최신값을 방출한다. 즉 subscriber는 구독하기 전의 값 하나를 받을 수 그것 이외의 이전 값들은 받지 못한다.
ReplaySubject : 버퍼를 두고 초기화하며, 버퍼 사이즈 만큼의 값들을 유지하면서 새로운 subscriber에게 방출한다. 즉 subscriber는 버퍼 사이즈 만큼 이전의 값들을 받아올 수 있으며 그 이외의 이전 값들은 받지 못한다.