RxSwift에서 옵저버블을 만드는 방법은 크게 두 가지가 있다.
하나는 직접 옵저버블을 구현하는 것이고 다른 하나는 이미 만들어진 연산자를 통해 옵저버블을 만드는 것이다.
옵저버블은 옵저버가 구독 할 시점에 어떤 이벤트를 방출 시킬 것인지 정의하는 것이다.
그럼 숫자 1, 2, 3을 방출 시키는 옵저버블을 만들어 보도록 하자.
Observable<Int>.create{ (observer) -> Disposable in
observer.onNext(0)
observer.onNext(1)
observer.onNext(2)
observer.onCompleted()
return Disposables.create()
}
온 넥스트를 통해서 옵저버에게 0, 1, 2를 방출 시키고 onCompleted 메서드를 통해 옵저버블을 종료한다.
그리고 메모리 정리를 위해서 Disposables를 이용하는데 이거는 disposbag을 만들어서 나중에 정리하는 게 좋다
두번 째 방법은 연산자를 이용해서 옵저버블을 생성하는 것인데 단순히 특정 값을 배출해야하는 상황이라면
연산자를 이용하는 것이 편리하다.
Observable.from([0, 1, 2])
from 연산자를 이용하면 배열에 담긴 값들을 순차적으로 방출 시킨다.
onCompleted() 메소드와 Dispose까지 시켜줘서 지정된 값을 방출 시킨다면 이렇게 사용하는 것이 편리하다.
'개발 > 개발' 카테고리의 다른 글
[iOS] - 프로젝트에 SwiftLint 적용 시키기 (0) | 2021.03.21 |
---|---|
Unable to install "App Name" (2) | 2021.03.19 |
[iOS] - 함수형 프로그래밍 (0) | 2021.03.03 |
[iOS] - Swift Style Guide 정리 (0) | 2021.02.26 |
RxSwift: Chapter - 1[Hello RxSwift!] (0) | 2020.10.04 |