RxSwift 알아보기

2022. 5. 10. 23:52RxSwift

반응형
RxSwift가 무엇일까?
RxSwift란?
  • 간단히 말해 비동기적으로 움직이는 애플의 API들과 수시로 상태가 변하는 환경에서 도와주는 라이브러리 입니다.
구성 요소
  1. Observable
  2. Operator
  3. Scheduler
Observable
  • Rx 코드의 기반
  • T 형태의 데이터 snapshot을 전달 할 수 있는 일련의 이벤트를 비동기적으로 생성하는 기능
  • 하나 이상의 observers가 실시간으로 어떤 이벤트에 반응
  • 세 가지 유형의 이벤트만 방출
enum Event<Element> {
    case next(Element) // 최신 또는 다음 데이터를 전달
    case error(Swift.Error) // error를 발생시켜 추가적으로 이벤트를 발생시키지 않는다.
    case completed // 성공적으로 일련의 이벤트를 종료시킨다.
}
Operator
  • 보다 복잡한 논리를 구현하기 위해서 함께 구성되는 많은 메서드가 포함 되어있다. 이러한 메서드는 각자가 아주 독립적이고 또 자기들끼리 여러개의 메서드가 조합이 되서 하나의 어떠한 구문을 구성할 수 있는 것이다.
UIDevice.rx.orientation
    .filter { value in
    	return value != .landscape
	}
    .map { _ in
    	return "세로로 볼게요"
    }
    .subscribe(onNext: { string in
    	showAlert(text: String)
    })
  • filter는 landscape(가로)가 아닌 값만 결과값으로 내뱉어준다. landscape이면 아래 코드들은 진행이 되지 않는다.
  • map이 해당 방향값을 택하고 "세로로 볼게요" String값을 반환을 해준다. 
  • subscribe을 통해 string값을 전달하고 전달받은 string값을 Alert화면에 표시를 해준다.
Scheduler
  • Rx에서 DispatchQueue와 동일하다.
  • RxSwift에는 이미 여러가지 Scheduler가 이미 정의되어 있고 대부분의 상황에서 사용이 가능하다.

  • 각각의 색깔별로 작업을 수행
반응형

'RxSwift' 카테고리의 다른 글

RxSwift Filtering Operator  (0) 2022.05.17
RxSwift Subject 알아보기  (0) 2022.05.16
RxSwift Single, Maybe, Completable 알아보기  (0) 2022.05.15
RxSwift Observable 알아보기  (0) 2022.05.12
RxSwift 설치하기  (0) 2022.05.11