Observable 과 .subscribe
이전 정리에서 Observable 을 생성하는 다양한 연산자를 알아보았다.
그렇다면 Observable 을 통해 방출되는 이벤트는 어떻게 확인할 수 있을까?
실제로 Observable 은 그냥 sequence 정의일 뿐이며, subscribe 되기 전에는 아무런 event 를 보내지 않는다. 즉, 표현한대로 동작하는지 확인하기 위해서는 subscribe 를 해야한다.
Observable<Int>.just(1)
.subscribe(onNext: {
print($0)
})
// 1
Observable.just([1,2,3,4,5])
.subscribe(onNext: {
print($0)
})
// [1,2,3,4,5]
Observable.of([1,2,3,4,5])
.subscribe(onNext: {
print($0)
})
// [1,2,3,4,5]
Observable.of(1,2,3,4,5)
.subscribe(onNext: {
print($0)
})
// 1
// 2
// 3
// 4
// 5
Observable.from([1,2,3,4,5])
.subscribe(onNext: {
print($0)
})
// 1
// 2
// 3
// 4
// 5
subscribe 란?
이전까지는 onNext event 를 받아서, 거기에 포함된 element 값을 표현하도록 되어있어, 어떠한 event 에 쌓여져 있는지는 표현되지 않았다.
subscribe 를 활용하면 어떤 event 에 어떤 value 가 들어있는지 알려주고, completed 가 발생했는지 또한 알려준다.
print("-------subscribe------")
Observable.of(1,2,3)
.subscribe {
print($0)
}
print("-------subscribe2------")
Observable.of(1,2,3)
.subscribe {
if let element = $0.element {
print(element)
}
}
print("-------subscribe3------")
Observable.of(1,2,3)
.subscribe(onNext: {
print($0)
})
-------subscribe-------
next(1)
next(2)
next(3)
completed
-------subscribe2-------
1
2
3
-------subscribe3-------
1
2
3
' iOS > RxSwift' 카테고리의 다른 글
RxSwift - Subject (0) | 2022.11.01 |
---|---|
RxSwift - Traits (Single, Maybe, Completable) (0) | 2022.10.31 |
RxSwift - Observable 과 dispose / disposeBag (0) | 2022.10.24 |
RxSwift - Observable 생성 시 사용하는 연산자 정리 (0) | 2022.10.24 |
RxSwift - 기본 구성 요소 (0) | 2022.10.22 |