Obeservables & Observers

Youn·2021년 11월 2일
0

iOS-RxSwift

목록 보기
2/8
post-thumbnail

  • 전달하는 이벤트
    • error (notification)
    • completed (notification)
    • next (emmission)
  • observerbles - 이벤트의 순서 정의
  • observer - subscriber

observable 생성

create 연산자 사용

let o1 = Observable <Int>.create{ (obs) -> Disposable in
	obs.on(next(0)) // 0이 저장되어 있는 이벤트가 구독자로 전달
    obs.onNext(1)
    obs.onCompleted() // observable 종료
    return Disposables.create() // 메모리 정리
 }

from 연산자 사용

Observable.from ([0, 1])
  • param인 배열에 있는 요소를 순서대로 방출한 뒤 completed event 전달

이벤트 전달

  • 전달 시점
    • observer가 구독을 하는 시점
    • observer는 동시에 2개의 event 를 처리하지 않는다
/** 1. */
o1.subscribe{
  print($0)
  if let eme = $0.element { // event 에 전달된 값은 optional 임 
     print(eme)
  }
}
/** 2. */
o1.subscribe(onNext: {elem in print(elem)})

정리

Observable.subscribe // 옵져버블'을' 구독한다
Observer.onNext // 옵져버'에' 이벤트를 전달한다
Observable.create{(observer) in 
	observer.onNext()
	return Disposable.create()
    }
 // 구독되기 시작하면 이벤트를 발생시켜 observer 에 전달하기 시작한다. 
profile
youn

0개의 댓글