Posts 0105 TIL
Post
Cancel

0105 TIL

  • 오늘한 일

    • 곰튀김 Rx 듣고 정리하기
    • 곰튀김 Rx 실습

Rx 쓰는 이유: 비동기 작업을 보다 쉽게 하기 위해


Observable: 관찰 가능한 객체. 즉 이벤트를 발생시키면 해당 객체를 관찰하고 있던 관찰자(구독자) 객체들이 stream을 통해 데이터를 전달 받음

  • Just: stream에 값을 한번에 방출하고 complete

  • From: stream에 array의 element를 하나씩 방출하고 complete

  • 생명주기

    • Create

    • Subscribe

    • onNext / onError

    • onCompleted

    • disposed

Subject

  • PublishSubject
    • 데이터 발생 시 stream에 데이터를 넘김
    • 여러 객체가 subscribe 가능
  • BehaviorSubject
    • PublishSubject와 동일한 동작을 하지만, 기본값이 있음.
    • 구독을 하면 가장 최근 데이터를 넘겨줌
  • AsyncSubject
    • 데이터가 여러번 발생해도 stream에 데이터를 넘기지 않고, complete 되는 시점에 가장 마지막에 있던 데이터를 넘김
  • ReplaySubject
    • PublishSubject와 동일한 동작을 하지만, 나중에 subscribe한 객체에게도 기존에 발행되었던 데이터를 모두 넘겨줌


Observable은 생성되는 시점 부터 어떤 데이터를 내보낼지 정해져 있음 -> 외부에서 데이터를 받을 수 없음

반면 Subject는 외부에서 데이터를 주입받고, 방출할 수 있음.


scan 오퍼레이터: 설정한 초기값에 stream을 타고 넘어온 데이터를 가지고 중간 값을 만들음.

rxCocoa: rxSwift의 요소를 UIkit의 view들에게 extension을 통해 접목시켜줌

  • bind는 순환참조를 방지한다.
This post is licensed under CC BY 4.0 by the author.