# Disposable

[RxSwift] Observable, Subscribe, Disposable, DisposeBag
Observable 📚 개념 > Observer(관찰자)의 관찰 대상이 된다. (= Observer는 Observable을 구독한다.) Subscribe(구독)를 통해 변화를 감지할 수 있다. Event Sequence를 비동기적으로 생성한다. string, int 등 모든 타입(generic)을 반환한다. > 💡 * Sequence란? : 한번에 하나씩 단계별로 진행할 수 있는 값 목록* 📖 구성 요소 > next : 새로운 항목들을 배출할 때마다 호출하며, Observable이 배출하는 항목을 파라미터로 받는다. complete : Observable이 마지막 next를 호출한 뒤에 호출한다. (complete 호출 후 자동으로 구독 종료(dispose)) error : 기대하는 데이터가 생성되지 않았거나 오류가 발생할 경우, error를 알리기 위해 호출한다. (e

RxJava Disposable란?
Disposable 이전 포스트들에서 Observable 객체에서 발행할 아이템을 정의한 후 subscribe()를 통해 스트림을 생성하고 아이템을 발행했습니다. 이 subscribe()를 호출한 후에는 Disposable 객체가 반환됩니다. 코드 Observable이 발행하는 아이템의 개수가 정해져 있다면 모두 발행된 이후 onComplete()가 호출되고 안전하게 종료될 것입니다. 하지만 아이템이 무한정 데이터를 발행하거나 오랫동안 데이터를 발행하는 Observable의 경우에는 onComplete()가 호출되지 않거난 호출되기까지 오래 걸립니다. 따라서 이들을 제대로 종료하지 않으면, 메모리 릭이 발생하게 되는 것입니다. 더 이상 Observable의 구독이 필요하지 않을 때에는 이를 dispose해주어 메모리 효율을 가져갈 수 있습니다. 다음을 출력하게 된다면 결과는 다음과 같습니다. 4초 후에 Observable 데이터 발행이 중단되고 모든 리

[iOS] RxSwift Observable, Disposable
📕RxSwift란? RxSwift는 Reactive extension + Swift의 합성어로, 비동기 프로그래밍을 관찰 가능한 흐름으로 지원해주는 API입니다. 비동기는 RxSwift의 핵심이라고도 할 수 있는데, '한 가지 일을 처리하는 동시에 다른 일도 함께 처리하는 것'을 의미합니다. 웹 url을 통해 이미지를 다운로드 하고 불러오는 작업 시간 초를 세는 작업 두 가지의 작업을 동시에 진행할 때, 동기로 작업을