RxSwift

1. RxSwift 알아보기

Jimmy Youn 2021. 11. 21. 15:30

1. RxSwift 란? 

  • 기본적으로 비동기적으로 움직이는 애플의 API 들과 수시로 상태가 변하는 환경에서 보다 직관적이고 효율적인 코드를 작성할 수 있게 도와준다. 
  • 조합가능하고 재사용이 가능한 문법을 제공한다. 
  • 선언형 (정의를 변경하는게 아니라 오퍼레이터를 통해서 데이터만 변경한다) 
  • 이해하기 쉽고 간결 
  • 상태를 저장하기 보다는 앱을 단방향 데이터 흐름으로 모델링하기 때문에 굉장히 안정적이다.

2. 기본개념 

  • Observable (스위프트에서 제공하는 시퀀스와 동일하다) -> 시퀀스 : 개개 요소들을 하나씩 순회할 수 있는 타입 
  • Operator (연산자) 
  • Scheduler (Rx 의 디스패치큐라고 생각하면 된다) 

3. Observable 

  • Observable<T>
  • Rx 코드의 기반 
  • T 형태의 데이터 snapshot 을 전달 할 수 있는 일련의 이벤트를 비동기적으로 생성하는 기능 
  • 하나 이상의 observers 가 실시간으로 어떤 이벤트에 반응 
  • 다음의 세가지 유형의 이벤트만 방출한다. 
    • enum Event<Element> {
          case next(Element) // 값을 하나씩 방출 
          case error(Swift.Error) // 에러를 표현하고 끝남 
          case completed // 성공했을때 완전히 종료
       }