Swift/RxSwift

Disposable Observable의 라이프사이클이 Completed event나 Error event로 종료되면 모든 리소스를 정리하고 Dispose 된다. Combine의 AnyCancellable과 유사한 개념이다. Dispose가 수행되는 시점은 아래의 코드와 같이 작성하면 확인할 수 있다. let s = Observable.from([1, 2, 3]) .subscribe(onNext: { elem in print("Next", elem) }, onError: { error in print("Error", error) }, onCompleted: { print("Completed") }, onDisposed: { print("Disposed") }) onDispose는 어떤 이벤트에 대한 em..
RxSwift에서 데이터의 전달을 위해서 Observable과 Observer라는 개념이 등장한다. Observable 이름 그대로 '관측 가능한' 객체를 의미하며, 다양한 방식으로 데이터를 비동기적으로 전달하는 역할을 수행한다. Combine에서 Publisher와 유사한 개념이며, 하나 이상의 Observer가 실시간으로 이벤트에 반응할 수 있도록 새 값을 방출(emit)한다. Emission Observable이 이벤트를 방출하는 것을 Emission이라고 한다. Next 이벤트 수행을 통해 다양한 값을 전달하며, 라이프사이클 내에 한 번도 수행되지 않을 수도 있다. Completed / Error Observable의 라이프사이클 가장 마지막에 수행되는 작업이며, Emission이 아니라 일종의 ..
RxSwift는 Swift 뿐만 아니라 JAVA, C++, Python, Kotlin 등에서도 사용되는 ReactiveX라는 MS 사의 API 중 하나이다. An API for asynchronous programming with observable streams 공식적인 소개에 따르면 쉽게 말해서 구독 가능한 형태의 이벤트 스트림과 함께 비동기 프로그래밍을 도와주는 API이다. 즉, 다양한 비동기 처리 방식 중 하나의 좋은 방법이라고 볼 수 있다. 이전에 우리가 Swift로 iOS 개발을 하면서 비동기 이벤트 처리를 위해서는 callback을 활용하거나 delegate를 사용하는 등 다양한 방법을 쓸 수 있었다. 만약 Rx를 사용하게 되면 전체적인 이벤트 처리를 하나의 Stream으로 보고 여러 Obs..
chicharios
'Swift/RxSwift' 카테고리의 글 목록