Notice
Recent Posts
Recent Comments
Link
clyne의 개발 기록
[RxSwift] Drive와 Subsribe의 차이점 본문
안녕하세요 iOS 개발자 CNOO 입니다.
오늘은 RxSwift의 .drive와 .subscribe의 차이점에 대해 알아보도록 하겠습니다~
먼저 Drive의 공식 문서를 보시면
1. 오류를 내뱉지 않는다.
2. MainScheeduler에서 동작한다 (메인스레드 동작 보장)
3. 바인딩 되어있는 경우, 1회 동작을 보장한다.
정도가 되겠네요.
결론부터 말씀드리자면, Drive는 Main Thread에서 동작하는 것을 보장하기 때문에,
UI 와 관련된 처리는 모두 Drive 로 처리해주시면 됩니다.
물론 subscribe를 사용하실 때도 Main Thread에서 동작하도록 슈거를 추가해주면 되는데,
해당 방법은 아래 예제를 통해 보여드리도록 하겠습니다.
심플하게 UITextField를 하나 화면에 추가해서, 입력하는대로 바로 아래쪽의 UILabel에 똑같이 보여주는 예제를 만들어보겠습니다.
Drive와 Subscribe 두 가지를 활용하여 구현한 예제.
보시면, Subscribe에서는 .observeOn(Mainscheduler.instance) 라는 슈거를 통해 메인스레드에서 동작하도록 보장합니다.
매번 이렇게 하는 것이 귀찮으니.... 혹은 실수를 할 수도 있기 때문에....
UI와 관련된 (메인스레드에서 처리해야하는 동작) 경우에는 Drive를 활용하도록 합시다~ :)
'iOS > RxSwift' 카테고리의 다른 글
[RxSwift] concat 연산자 (0) | 2021.05.07 |
---|---|
[RxGesture] UIView에 클릭이벤트를 넣는 세가지 방법 (0) | 2021.04.22 |
[RxSwift] merge를 이용한 버튼 두개 이벤트 동시처리 (0) | 2021.04.08 |
[RxSwift] UITextField, UITextView 글자 수 제한. (0) | 2021.04.07 |
[RxSwift] startWith에 관하여! (0) | 2021.04.06 |