Operator
Operator는 Observable 객체를 구독할 때 넘어오는 event를 Filtering, Transforming, Combining 하기 위해 사용한다.
Observable을 구독할 때 event의 element를 그대로 사용할 수 없는 경우, 서비스에서 사용 가능한 객체로 변환하는 과정을 담당한다.
RxSwift에서는 구현에 필요한 다양한 개념들을 Operator로 미리 구현해 놓았으며 상황에 따라 적절한 Operator를 선택해 사용해야 한다.
너무 많아서 모두 예제로 만들기에는 너무 많아서 목록만 나열합니다..
메소드 이름만 익숙해지는 것도 큰 도움이라고 생각됩니다.
각 메소드들의 이해는 아래 링크에서 쉽게 시각적으로 배울 수 있습니다.
http://rxmarbles.com/#ignoreElements
RxJS에 대한 내용이지만 기본적으로 Rx에 대한 내용을 다루기 때문에 대부분의 메소드 이름이 같고 내용이 같습니다.
Filtering Operators
특정 조건에 따라 event를 걸러내는 Operator
- ignoreElements()
- elementAt()
- filter()
- skip()
- skipWhile()
- skipUntil()
- take()
- takeWhile()
- takeUntil()
- distinctUtilChanged()
Transforming Operators
event element의 값을 조작할 때 사용하는 Operator
- toArray()
- map()
- flatMap()
- flatMapLatest()
- materialize()
- dematerialize()
Combining Operators
Observable을 서로 결함함에 있어서 이벤트를 구독하는 순서, 방법을 결정하는 Operator
- startWith()
- concat()
- concatMap()
- merge()
- zip()
- combineLatest()
- withLatestFrom()
- switchLatest()
- flatMapLatest()
- reduce()
- scan()
** 각 메소드에 대한 설명, 서비스 구현에서 적용해야 하는 타이밍 추가 예정