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 // 성공했을때 완전히 종료 }
-