RxSwift를 21일간 공부하는 루틴
"Rx를 기깔나게 쓰는 신입개발자 도전" 시작 🚀
우선 생성연산자중 하나인 create에 대해 먼저 알아보겠다.
전체 코드는 RxSwiftTIL-0 에 커밋해놓았다.
// 이벤트는 이렇게 전달되어야함! 이라고 정의
Observable<String>.create { (observer) -> Disposable in
observer.onNext("a")
observer.on(.next("b"))
observer.onCompleted()
return Disposables.create()
}
위와 같은 코드 처럼 이벤트를 생성 시킬 수 있다.
물론, 아직 구독을 하진 않았기 때문에 아무일도 일어나지 않는다.
위와 같은 create처럼 생성을 하는 operator , 즉 연산자가 다양하게 있는데, 그중 배열에 저장된 요소를 하나씩 방출하는 from 을 먼저 살펴보면서 구독개념과 같이 보겠다.
// 배열에 있는 요소를 하나씩 방출
Observable.from(["a","b"])
// 구독해야 이벤트가 전달이 됨
.subscribe { print($0) }
.disposed(by: disposeBag)
from 코드를 잘 보면 create와달리 subscribe가 있다.
구독을 한것이다.
구독을 했기 때문에 이벤트가 전달이 된다.
코드를 잘보면 disposable, disposeBag 이라는 워딩이 있다.
다음엔 이부분에 대해 정리하겠다.