본문 바로가기
iOS/iOS

RxSwift란?

by 황민우 2022. 4. 30.

정의

- Reactive eXtension Swift의 줄임말입니다.

- 비동기 프로그래밍을 관찰 가능한 흐름으로 지원해주는 API입니다.

- 옵저버 패턴과 이터레이터 패턴 그리고 함수형 프로그래밍을 조합한 반응형 프로그램입니다.


RxSwift를 사용하는 이유

  1. RxSwift없이 비동기적인 측면으로 접근할 경우, 코드 이해와 실행에 관한 추론(값을 예측)이 어려움.
  2. MVVM과 밀접한 연관이 있기 때문.
  3. 코드가 깔끔해짐.

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

 

댓글