iOS/스위프트
[RxSwift] Publish, Behavior, Replay 각각의 차이점.
기본만하자.
2022. 10. 31. 17:41
반응형
Publish, Behavior, Replay를 면접 질문으로 받았었는데,,.. 어버버 했던 기억이 트라우마가 되어 개념을 공부하고 직접 구현해보았습니다.
1. Publish
구독 이전의 이벤트는 모두 무시되며 구독 이후 이벤트만 발행한다.
2. Behavior
구독 시 구독 이전 가장 최근에 이벤트를 발행한다. 만약 구독 이전에 이벤트가 없었다면, 생성 시 받았던 초기값을 발행한다.
3. Replay
생성 시 BufferSize를 입력받고 구독 이전, BufferSize만큼의 이벤트를 받아둔 후 구독 시 해당 이벤트들을 발행한다.
https://gist.github.com/rising-jun/0addc43aa0d402c587a13c91b714365a
공부하면서 느끼지만 ReactiveX에서 만들어준 구슬그림은 정말 큰 도움이 되는 것 같습니다 :)
반응형