WooKoo Blog

물과 같이

개발/개발

RxSwift - 옵저버블 생성하기

WooKoo 2021. 3. 6. 14:51

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