RXSwift
마이크로소프트에서 제공하는 ReactiveX를 적용한 스위프트 서브파티 라이브러리
- ReactiveX: 비동기프로그래밍과 옵저버 패턴을 사용하기 쉽도록 돕는 라이브러리(반응형 프로그래밍)
→ 유지보수성이 좋고 가독성 높은 코드를 작성할 수 있음
안드로이드 앱 개발자와 중요한 로직 등 싱크를 맞출 수 있음
→ 왜? ReactiveX 프로그래밍 철학을 따르기 때문
많은 기업에서 RXSwift 를 사용하는 경우가 많기 때문에 배워두면 좋음
참고로 리액터킷이나 립스 사용하는 회사면 기술적으로 성장하기 좋은 회사인것 같아여
Observable
- Observable = 관측 가능한 대상
- Combine의 Publisher와 동일
- 이벤트&데이터를 방출하는 클래스 → 구독하고 있던 구독자(=관찰자, =옵저버)가 반응하여 어떠한 로직을 수행
- subscribe(구독하는 것), Observer(관찰자)
- 일반적으로 선언하는 변수와 다르게 스트림의 성질을 갖는다
- 선언한 값들은 한번 값을 가지면 그 값 자체로 의미를 갖지만 RX는 방출된 값(이벤트)에 따라서 반응한다
- onNext: 정상적인 데이터 방출
- onError: 에러 방출
- onCompleted: 옵저버블의 종료 방출
- 데이터 방출 사이에는 시간적인 개념과 데이터의 흐름이 포함된다
- DisposeBag → 구독을 끝낸 뒤 자동으로 메모리 처리(구독 해제됨)
- Disposables → 작업이 완료된 후 사용된 리소스를 정리하는 데 사용. (Observable의 생명 주기를 관리하고, 필요하지 않은 리소스를 해제하는 역할)
Single
Single → 옵저버블 중에서 값을 한번만 방출하는 옵저버블
- Combine의 Just와 동일
- 방출값
- onSuccess : 옵저버블의 onNext와 동일
- onFailure : 옵저버블의 onError와 동일
Subject
Subject → 옵저버블 중에서 외부에서 값을 넣어줄 수 있는 옵저버블
- BehaviorSubject
- 초기값이 있는 Subject
- Combine의 CurrentValueSubject와 동일
- PublishSubject
- 초기값이 없는 Subject
- Combine의 PassThroughSubject와 동일
정리하자면
비동기 이벤트를 관찰 가능한 형태로 만든 것이 Observable,
Observable은 해당 비동기 이벤트가 발생했을 때 항목(Item)을 방출함
관찰 가능한 형태인 Observable을 관찰하는 것이 Observer,
Subscribe(onNext:...) 메서드를 통해 Observable을 구독할 수 있다.
'Swift' 카테고리의 다른 글
NScash와 Dictionary의 차이 (0) | 2024.08.29 |
---|---|
Xcode Instruments (0) | 2024.07.31 |
다시 한 번 돌아보는 제네릭 (0) | 2024.07.30 |
Swift MVVM (0) | 2024.07.19 |
Swift 싱글톤 패턴 (0) | 2024.07.14 |