Observable와 Observer에 대해 정리해두려고 해요.
Observable ------ Event ----> Observer(Subscriber)
Observable <-- Subscribe --- Observer(Subscriber)
-> 옵저버블에서 발생한 새로운 이벤트는 Next를 통해 방출(Emission)
Observable
// #1 원형. create로 이벤트 만들기
Observable<Int>.create { (observer) -> Disposable in
observer.on(.next(0))
observer.onNext(1)
observer.onCompleted()
return Disposables.create()
}
// #2 이미 구현되어있는 이벤트 사용
Observable.from([0,1])
Observer
let o1 = Observable<Int>.create { (observer) -> Disposable in
observer.on(.next(0))
observer.onNext(1)
observer.onCompleted()
return Disposables.create()
}
// #1
o1.subscribe {
print("== Start ==")
print($0)
if let elem = $0.element {
print(elem)
}
print("== End ==")
}
print("-----------------------")
// #2
o1.subscribe (onNext: { elem in
print(elem)
})
Observable.from([1, 2, 3])
/* 실행 결과
== Start ==
next(0)
0
== End ==
== Start ==
next(1)
1
== End ==
== Start ==
completed
== End ==
-----------------------
0
1
*/
'iOS > RxSwift' 카테고리의 다른 글
| [RxSwift] Operator - Filter (0) | 2022.12.16 |
|---|---|
| [RxSwift] Why RxSwift? (0) | 2022.12.05 |