[RxSwift] 1a. Observable, Observer

miori·2022년 2월 7일
0

RxSwiftBasic

목록 보기
2/29

RxSwift를 21일간 공부하는 루틴
"Rx를 기깔나게 쓰는 신입개발자 도전" 시작 🚀


공식문서에서 docs부분을 보면, 크게 5가지로 분류를 해놓았다.
Observable, Operators, Single, Subject, Scheduler 5가지종류 중 가장 기본이 되는 Observable부터 정리하도록 하겠다.

Observable과 Observer

event방출 과 구독

읽은 내용을 바탕으로 간단하게 그림으로 그려보았다.
observable과observer

이 부분에서 중요하다고 생각하는 부분을 먼저 정리하자면,

    1. Observable 그 자체는 그냥 event들이 어떻게 전달되어야하는지 알려준다.
    1. Observer가구독을 해야 이벤트가 전달이 된다.
    1. 이때 이벤트는 3가지로 onNext(x), onComplete(), onError()가 있다.

실생활 예시

더 쉽게 “유튜브”로 예를 들어 보겠다. 개인적으로 피지컬갤러리 채널을 좋아하기때문에, 구독을 해놓은 상태이다. 구독을 해놓지 않는다면, 많은 유투브 영상 중 하나일 것이다. 하지만 구독을 해놓았기 때문에 빡빡이아저씨(계란님)가 영상을 업로드 할때마다 구독을 한 나한테 알람이 오고 나는 바로 영상을 볼 수 있다.

마블다이어그램

마블다이어그램

마블다이어그램으로 표현하면 더 쉽게 이해할 수 있다.
그전에 마블다이어그램에 대해 간략하게 정리하면, 실선의 검정색 화살표는 흐름을 나타낸다. 즉 Observable이다.
그리고 그위에 파랑색 동그라미는 onNext 이벤트 값들이다.

다시 예로 돌아오면, 유튜브 플랫폼은 Observable, 그중 피지컬 갤러리를 구독한 나는 Observer 라고 표현할 수 있다.
영상이 업로드 되었다고 구독자에게 알려주는 알람을 onNext이벤트라고 표현할 수 있다.

구독 이후로 onNext 이벤트가 발생하면, 즉 영상이 업로드되면 구독자는 바로 영상을 볼 수 있게 된다.


다음 글은 그럼 Observable은 어떻게 만들고, Observer는어떻게 구독하는지에 대해 코드와 함께 정리하겠다.


- 모든 그림자료는 아이패드로 직접 그린그림이다.

profile
iS를 공부하는 miori 입니다.

0개의 댓글

관련 채용 정보