RxSwift란?
정의
- Reactive eXtension Swift의 줄임말입니다.
- 비동기 프로그래밍을 관찰 가능한 흐름으로 지원해주는 API입니다.
- 옵저버 패턴과 이터레이터 패턴 그리고 함수형 프로그래밍을 조합한 반응형 프로그램입니다.
RxSwift를 사용하는 이유
- RxSwift없이 비동기적인 측면으로 접근할 경우, 코드 이해와 실행에 관한 추론(값을 예측)이 어려움.
- MVVM과 밀접한 연관이 있기 때문.
- 코드가 깔끔해짐.
Rx의 3요소
1, Observables<Data>
- 객체에 이벤트나 값 추가, 수정, 등과 같은 것을 가능하게 해줌.
- Observable은 3가지 이벤트에 반응합니다.
- next : 어떤 항목을 배출하는 것. 이벤트를 받아서 원하는 형태로 처리합니다.
- error : 값을 배출하다 에러 발생 시, error 이벤트를 방출하고 스트림을 종료합니다.
- complete : 성공적으로 next 이벤트를 수행했을 때, complete 이벤트를 발생하고 스트림을 종료합니다.
2, Operators
- 옵저버에서 나온 결과를 Rx연산자를 통해 입력 및 출력이 가능합니다.
3, Schedulers
- 기존에 사용하던 Dispatch Queue와 동일한 기능을 갖고 있습니다.
Disposable
- 어떠한 작업의 마지막에 호출되고, 이후에 작업이 완료됩니다.
- Observable 타입들은 모두 Disposable타입을 반환하는데, 이 값을 통해 스트림을 종료시키고 작업을 종료하는 것이 가능합니다.
- 즉, 한 번에 작업을 종료하기위해 하나의 작업을 사용 후, 잠시 처분해놓는 쓰레기통과 같은 역할을 합니다.
내용 출처
https://dongminyoon.tistory.com/45
[RxSwift] RxSwift란 - Observable, Disposable
RxSwift에 대해서는 공부를 혼자 진행하고 있었는데, 이제부터 RxSwift도 혼자 공부하던 것들을 정리해서 포스팅해보려고 합니다.. 우선 RxSwift에 대한 처음 포스팅이기 때문에 오늘은 RxSwift가 무엇
dongminyoon.tistory.com
https://ios-development.tistory.com/95
[RxSwift] 1. RxSwift의 개념
1. RxSwift란? ‘RxSwift is a library for composing asynchronous and event-based code by using observable sequences and functional style operators, allowing for parameterized exe..
ios-development.tistory.com