clyne의 개발 기록
[RxSwift] concat 연산자 본문
안녕하세요! iOS 개발자 CNOO 입니다~!
오늘은 RxSwift의 오퍼레이터 중, concat에 대하여 알아보겠습니다.
저는 개인적으로, 전수열님의 ReactorKit에서 mutate 함수 리턴할 때, concat을 애용하는 편인데요,
concat에 대해서 자세히 알아보고자,
그리고, 제가 공부한 것을 공유드리고자 이렇게 포스팅 하게 되었습니다.
RxSwift의 연산자를 처음 공부할 때는 저는 항상 공식문서와 내부 구현함수를 살펴봅니다.
reactivex.io/documentation/operators.html
ReactiveX - Operators
Introduction Each language-specific implementation of ReactiveX implements a set of operators. Although there is much overlap between implementations, there are also some operators that are only implemented in certain implementations. Also, each implementa
reactivex.io
Reactive 공식홈페이지를 살펴보시면,
요기 concat이 있습니다.
다이어그램을 보시면, 스트림이 흘러가는대로 내뱉어주고있습니다.
즉, 문서에도 나와있듯이, Observable 스트림들이 서로 교차없이, 들어온대로 내보내주기만 하는 연산자입니다.
사용법은 다음과 같습니다.
Observable.concat([
Observable.just(1),
Observable.just(2).delay(.seconds(1), scheduler: MainScheduler.instance),
Observable.just(3),
Observable.just(4)
]).bind(onNext: {
print($0)
}).disposed(by: disposeBag)
결과는 당연히 1이 나오고, 1초뒤에 2,3,4가 나오겠네요!
오늘은 concat에 대해서 알아보았는데요
사실 사용법 감이 잘 안오실 수도 있는데,
다음번에, 제가 최근 공부해서 리팩토링하고있는 MVVM 적용 아키텍쳐 모듈, ReactorKit을 소개하면서 concat을 한번 더 다루도록 하겠습니다.
ios개발자님들 그럼 오늘도 화이팅~~
'iOS > RxSwift' 카테고리의 다른 글
[RxGesture] UIView에 클릭이벤트를 넣는 세가지 방법 (0) | 2021.04.22 |
---|---|
[RxSwift] Drive와 Subsribe의 차이점 (0) | 2021.04.21 |
[RxSwift] merge를 이용한 버튼 두개 이벤트 동시처리 (0) | 2021.04.08 |
[RxSwift] UITextField, UITextView 글자 수 제한. (0) | 2021.04.07 |
[RxSwift] startWith에 관하여! (0) | 2021.04.06 |