Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- Firebase Analytics
- realm
- observable
- Firebase
- Tuist
- Tuist Swift
- swift 5.9
- Swift Tuist
- SwiftUI
- swift db
- GCD
- ribs
- Combine
- SeSAC
- RxSwift
- Subject
- JSON
- swiftdata
- ios swiftdata
- KeyPath
- 네트워크 통신
- ios
- 카카오뱅크 ios
- arc
- xcode
- ios database
- swift 6
- swift database
- Subscribe
- swift
Archives
- Today
- Total
천원의 개발
RxSwift Subscribe, Bind, Drive 차이점 본문
RxSwift를 사용하다 보면 Subscribe, Bind, Drive가 비슷하게 동작을 하는 것 같으니 정리 한번 해보겠습니다.
Subscribe
먼저 Subscribe를 확인해 보면 onNext, onError, onCompleted, onDisposed 들을 전부 가지고 있습니다.
Bind
다음으로 Bind를 확인해 보면 onNext만 가지고 있습니다. 그렇다면 error가 발생하지 않고 completed가 발생하지 않는 무한히 이벤트를 방출하는 상황에서 사용하게 될겁니다. 또한 Bind의 특징으로 항상 Main Thread에서 동작하기 때문에 바로 UI객체를 사용할 때 주로 사용하는게 Bind입니다.
Drive
Drive 또한 error가 발생하지 않아야 하고 Main Thread에서 동작하기 때문에 bind와 다르지 않게 주로 UI객체를 사용할 때 사용합니다.
그러면 Bind와 Drive에 차이점은 무엇일까요?
바로 Drive는 스트림을 공유한다는 점인데요 Drive는 내부적으로 share(replay: 1, scope: .whileConnected) 가 구현되어 있기 때문입니다.
버튼 3개가 num의 하나의 스트림을 공유하기 때문에 같은 숫자의 title을 가지게 되는 겁니다.
여기까지 Subscribe, Bind, Drive 차이점 정리였습니다.
공부자료:
🌱SeSAC iOS 2기 78회차, 79회차
'iOS&Swift🍎 > RxSwift' 카테고리의 다른 글
RxSwift Operator 정리 (0) | 2023.09.11 |
---|---|
RxSwift Observable vs Subject(Publish, Behavior) 차이점 (0) | 2022.10.27 |
RxSwift 개념 정리 (Observable, Disposable) (0) | 2022.10.26 |