RxSwift Signal, emit
RxSwift를 사용하면서 코드 리뷰 과정에서 Signal이라는걸 보아서 공부해보자!
Signal vs Driver
공통점
- 에러를 방출하지 않고, 메인스레드에서 동작
차이점
- Driver는 구독할 때 replay를 통해 emit이 발생
- Signal은 구독할 때 replay를 하지 않음
Signal은 주로 어떨때 사용할까?
Signal은 replay되면 문제가 있는 스트림에 사용하면 됨.
- 여러 코드를 살펴보는데 주로 ViewModel -> View로 가는 작업 즉, UI 관련한 것들에 Signal이 보임.
- 개인적인 생각인데 그냥 드라이버 쓰는게 더 낫지 안을까란 생각
emit은 Driver를 사용했을때 drive라고 생각정리
Signal과 Driver가 주로 비교되는 것 같아서 어떤걸 사용해야 하는지 생각을 해봤는데, 적재적소에 더 알맞는 것을 사용하는게 물론 베스트겠지만, 내가 짠 코드가 다른 사람이 보았을 때, Signal과 Driver가 섞여 있으면 통일감이 떨어져서 불완전하게 보이는 요소로 작동하지 않을까도 생각이 들었다.
'apple > RxSwift, ReactorKit' 카테고리의 다른 글
[ReactorKit] ReactorKit 공부하기 #2 (0) | 2022.07.24 |
---|---|
[ReactorKit] ReactorKit 공부하기 #1 (0) | 2022.07.24 |
iOS RxAction (RxSwift Community) (0) | 2022.01.19 |
RxSwift ch 18. Table & Collection views (0) | 2022.01.18 |
Extension Reactive (RxSwift) (1) | 2022.01.12 |