RxSwift 알아보기
2022. 5. 10. 23:52ㆍRxSwift
반응형
RxSwift가 무엇일까?
RxSwift란?
- 간단히 말해 비동기적으로 움직이는 애플의 API들과 수시로 상태가 변하는 환경에서 도와주는 라이브러리 입니다.
구성 요소
- Observable
- Operator
- 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 |