Observable은 데이터의 변화를 나타내는 스트림이며, 이 스트림을 관찰하고 구독함으로써 데이터의 변화를 감지하고 이에 대응할 수 있습니다.
구독
하고, Observable이 이벤트를 내보낼 때마다 정의한 클로저를 실행
한다.다른 요소에 연결(바인딩)
하는 작업을 의미한다.메인 스레드에서 동작
하기 때문에 바인딩을 통해 Observable의 데이터 변화를 UI나 다른 데이터 요소에 반영할 수 있다.메인 스레드에서 실행
되고 메인 스레드로 전환되어 결과를 전달하는 등의 편의 기능을 제공한다.UI 업데이트에 관련된 Observable을 처리하는데 유용
하다.subscribe
에러 처리 가능 / 스레드 지정 가능
bind
에러 처리 불가 / 사실상 onNext만 구현한 subscribe
driver
에러 처리 불가(onErrorJustReturn 정도) / 무조건 메인 스레드
subscribe
일반적 상황, 즉 에러 처리, 스레드를 지정해야 하는 경우 등 다양한 상황에서 사용한다.
bind
에러 처리를 따로 안 하므로 주로 error가 없는 button.rx.tap
같은 UX subscribe 용으로 많이 사용한다.
driver
메인 스레드에서 실행된다는 보장이 있으므로 주로 백그라운드 작업 후 UI에 반영이 되어야 하는 작업에서 사용.