RxSwift는 ReactX에서 제공하는 서드파티 라이브러리로
옵저버 패턴과 비동기 프로그램의 구현을 돕는 라이브러리 입니다.
옵저버 패턴의 경우에는 이벤트를 발행하여 그 이벤트를 구독하고있는 부분에 영향을 주는 패턴이고
비동기 프로그램의 경우에는 로직을 병렬로 처리하여 속도를 향상시키는 방법 중 하나이다.
다만 비동기 프로그램을 구현할때 주의 해야하는 부분은 결과값이 바로바로 받을 수 없다보니 에러처리 과정의 설계를 주의깊게 해야하는 단점이 있다.
오늘 공부한 RxSwift의 개념중 3가지인 Observable, Single, Subject에 대해서 정리하려한다.
Observable : 가장 기초가 되는 개념이 아닐까 생각이 된다.
Observable는 이벤트를 방출하는 클래스 입니다. 각각 onNext(정상 방출)나 onError(에러 방출), onCompleted(옵저버블 종료)를 선언해 구독자들에게 값을 방출 합니다.
Single : Observable중 이벤트를 하나만 발행하고 끝나는 클래스
이벤트를 방출하고 바로 종료가 된다.
onSuccess나 onFailure를 선언 할 수 있고 바로 종료가 되기 때문에 onCompleted는 필요없다.
Subject : Subject의 경우에는 behaviorSubject와 publishSubject 둘로 나누어진다.
behaviorSubject : 초기값이 있고 구독시 가장 최근에 방출된 값을 받는다.
publishSubject : 초기값이 없고 구독시 구독 이후로 방출된 값을 받는다.
두 Subject의 경우 헷갈릴수 있는데 구독을 한 시점이 중요한 포인트가 될 수 있다.
'Ios > Swift' 카테고리의 다른 글
[Swift] CollectionView에 대한 끄적임 (0) | 2024.08.07 |
---|---|
[Swift] MVVM에 대한 끄적임.. (0) | 2024.08.01 |
[Swift] Xcode Instruments에 대한 끄적임 (0) | 2024.07.30 |
[Swift] 키보드가 안내려가는 경우 처리하기 (0) | 2024.07.25 |
[Swift] NavigationBar에 대한 끄적임 (0) | 2024.07.19 |