RxSwift
-
RxSwift - Combining OperatorRxSwift 2021. 11. 12. 22:00
안녕하세요. 그린입니다🟢 이번 포스팅에서는 Combining Operator에 대해 학습해보겠습니다💁🏻 Combining Operator? 컴바인 즉 구성하고 조직한다는 의미로 이번에 알아볼 오퍼레이터는 옵저버블의 데이터를 병합해줍니다. 이전 제 블로그에서 중구난방하게 concat, merge 등 옵저버블 시퀀스를 병합해주는 학습을 해본적 있습니다. 이번에는 아래 링크를 통해 조금 더 체계적으로 구분하고 알아보려합니다🙌 GitHub - fimuxd/RxSwift: RxSwift를 스터디하는 공간 RxSwift를 스터디하는 공간. Contribute to fimuxd/RxSwift development by creating an account on GitHub. github.com startWith(_:)..
-
RxSwift - Transforming OperatorRxSwift 2021. 11. 10. 20:00
안녕하세요. 그린입니다🟢 이번 포스팅에서는 이전 Filtering Operator에 이어 Transforming Operator에 대해 학습해보겠습니다💁🏻 Transforming Operator? 변환해주는 오퍼레이터! 어떤것을 변환해줄까요? 옵저버블로 부터 방출된 값들을 다른 형태나 변형된 값으로 변화를 주고 방출하는 오퍼레이터입니다🤙🏻 그럼 바로 아래에서 여러가지 Transforming Operator들에 대해 살펴보겠습니다🙋🏻 toArray 요런 형태를 띕니다. 요소들을 하나의 어레이로 묶어주는 오퍼레이터인게 딱 보이죠? 그럼 코드로 어떻게 사용되는지 보겠습니다. let disposeBag = DisposeBag() Observable.of(1, 2, 3, 4, 5, 6) .toArray() .su..
-
RxSwift - Filtering OperatorsRxSwift 2021. 11. 8. 09:56
안녕하세요. 그린입니다🟢 이번 포스팅에서는 RxSwift의 Filtering Operator들에 대해 학습해보겠습니다🙋🏻 Filtering Operator? 이름에서부터 어떤건지 느낌이오죠? 필터를 해주는겁니다. 어떤걸 필터를 해주냐? next 이벤트를 통해 넘어온 값들에 대해 필터를 해줍니다. 즉 해당 오퍼레이터를 통해 넘어온 값들에 대해 다 처리하지 않고 원하는 값만 골라 처리할 수 있습니다👍 Filtering Operator 종류 크게 4가지의 종류로 나눠볼 수 있습니다. 1. Ignoring Operator 2. Skipping Operator 3. Taking Operator 4. Distinct Operator 그럼 4가지 종류가 있다고 했으니 하나씩 자세하게 어떤 오퍼레이터들을 담고 있는지 ..
-
RxSwift - SubjectRxSwift 2021. 11. 3. 22:09
안녕하세요. 그린입니다🟢 이번 포스팅에서는 저번 RxSwift의 첫번째 타자였던 Observable에 이어 Subject를 알아보겠습니다💁🏻 이전 포스팅에서 Observable을 학습하면서 이벤트를 만들고 구독 및 dispose하는 방법에 대해 알아봤습니다. 다시 말하지만 아래 링크에서 학습을 하고 있습니다🧐 https://github.com/fimuxd/RxSwift/blob/master/Lectures/03_Subjects/Ch3.%20Subjects.md 그런데 많은 코드에서는 실시간으로 이벤트를 추가하고 방출하는것을 할 수 있어야합니다. 이를 위해 Subject라는 개념이 나왔습니다. 그럼 자세히 알아볼께요🙌 Subject? Observable이자 Observer인 것을 Subject라 합니다. ..
-
RxSwift - ObservableRxSwift 2021. 10. 30. 17:02
안녕하세요. 그린입니다🟢 이번 포스팅에서는 RxSwift의 Observable에 대해 학습해보겠습니다🧑🏻💻 그동안 RxSwift를 공부하면서 너무 중구난방으로 블로깅도하고 학습한 경향이 있는것같아요. 제가 RxSwift를 학습한지 얼마되지 않아서 체계가 없었나봅니다🥲 그래서 이번 기회에 RxSwift를 체계적으로 차근차근 다시 학습해보려합니다!🙌 그런 취지로 이번 특집의 첫타자는 Observable입니다. 가장 중요하고 기본적으로 알고 있어야 다른것들의 학습이 병행될 수 있는 Observable! 같이 알아보시죠🙋🏻♂️ 참고로 해당 학습 ReactiveX 공식문서들과 아래 링크를 통해 학습되었고 학습할 것입니다! https://github.com/fimuxd/RxSwift/blob/master/Lec..
-
RxSwift - ZipRxSwift 2021. 10. 13. 20:12
안녕하세요. 그린입니다🟢 이번 포스팅에서는 RxSwift의 Zip에 대해 학습해보겠습니다💁🏻 이전에 CombineLatest에 대해서 학습해본적이 있습니다. 그때 CombineLatest는 두가지의 옵저버블 방출을 통해 합쳐서 보내준다는점에선 Zip과 동일합니다. 다만 CombineLatest는 합성 후 그다음 다른 옵저버블의 방출이 들어온다면 또 합성하여 뿌려주는 특성이 있었습니다. 그러면 Zip은 어떻게 다른건지 알아보시죠🧐 Zip Zip이란? 정의한 함수를 통해 여러 Observable의 방출을 결합하여 이 조합에 의해 단일 항목으로 방출해줍니다. 아래 그림과 같은 플로우입니다. 자 위 플로우를 보면 첫번째 옵저버블의 흐름에서는 1,2,3,4,5가 방출되고 두번째는 A,B,C,D가 방출됩니다. 여기..
-
RxSwift - Buffer & WindowRxSwift 2021. 10. 6. 19:30
안녕하세요. 그린입니다🟢 이번 포스팅에서는 RxSwift의 Buffer와 Window에 대해 학습해보겠습니다🏃🏻 이전 포스팅에서 Debounce와 Throttle에 대해 학습해볼때 잠깐 Buffer와 Window를 봤었어요! 그런데 타이머를 두는것도 그렇고 비슷한것 같은데 어떤 차이가 있는지 궁금해졌습니다. 이에 요 포스팅에서 두개를 알아보려합니다🧐 Buffer Buffer란? Buffer는 옵저버블에서 방출하는 이벤트를 번들로 한번에 묶어서 묶음으로 방출하게 해줍니다. 아래 그림과 같은 플로우입니다. 그림을 보면 빨간 이벤트가 발생하고 어느정도의 TimeSpan이후 빨/노/초 이벤트에 대해 묶어 방출시켜줍니다. Buffer의 선언 import RxSwift public func buffer( timeS..
-
RxSwfit - Debounce & ThrottleRxSwift 2021. 10. 2. 10:29
안녕하세요. 그린입니다🟢 이번 포스팅에서는 RxSwift에서 사용되는 debounce와 throttle에 대해 학습해보겠습니다🧑🏻💻 자세히 학습하기전 간단하게 debounce와 throttle이 어떤걸 해주는 메서드인가요? Rx에서는 사용자의 액션이나 정의해준것에 따라 observable이 방출됩니다. 그 소리는 만약 동시다발적으로 여러 액션을 취해주면 observable이 따닥따닥 붙어서 방출되겠죠? debounce는 간략히 타이머라고 생각하면 됩니다. 타이머를 두고 일정 시간 후 마지막에 들어온 observable을 방출해줍니다. throttle도 비슷한듯 다른데요. throttle은 이벤트가 방출되면 타이머를 두고 해당 타이머 이후에 이벤트를 또 다시 방출하는 차이입니다. 그러면 이제 본격적으로 ..