정의
- 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
https://ios-development.tistory.com/95
'iOS > iOS' 카테고리의 다른 글
Swift란 무엇인가? (0) | 2022.05.23 |
---|---|
Delegate는 retain이 되는가? 안되는가? (0) | 2022.05.02 |
Instance 메서드와 class 메서드의 차이점을 설명하시오. (0) | 2022.04.20 |
UIView 에서 Layer 객체는 무엇이고 어떤 역할을 담당하는지 설명하시오. (0) | 2022.04.18 |
앱이 시작할 때 main.c 에 있는 UIApplicationMain 함수에 의해서 생성되는 객체? (0) | 2022.04.15 |
댓글