RxSwift
-
RxSwift로 서버 통신하기RxSwift 2022. 12. 19. 10:51
안녕하세요. 그린입니다🍏 이번 포스팅에서는 RxSwift를 쓰는 환경에서 서버 통신을 하는 틀을 만들어보겠습니다🙋🏻 우선 서버 통신이 필요한 환경이 정말 필수적이고 많은분들이 RxSwift를 사용하고 있을거에요. 그렇기에 저도 나름의 방식으로 RxSwift를 사용하면서 잘짜여진 서버 통신 템플릿을 만들고 쉽게 사용해보려합니다! 먼저 들어가기전 사용된 라이브러리는 두가지입니다. Alamofire와 RxSwift Alamofire를 통해 조금 더 간편하게 서버 통신을 시킵니다. Moya를 활용하지 않은 이유는 네트워크 레이어를 추상화한것뿐이라 이 부분은 직접 구현하면서 조금 더 장점을 가져갔습니다. 그럼 한번 보시죠🥸 우선 가장 먼저 만들어볼것인 서버 통신 규약을 정해보는 Router 프로토콜과 해당 프로토..
-
RxSwift - Time Based OperatorRxSwift 2021. 11. 17. 20:00
안녕하세요. 그린입니다🟢 이번 포스팅에서는 Time Based Operator에 대해 학습해보겠습니다💁🏻 여태까지 그랬지만 RxSwift의 순차적인 학습은 아래 링크를 따라 진행하고 있습니다. 아마도 큰 단락에서 오퍼레이터에 대한 학습은 이번 포스팅까지일것 같습니다! GitHub - fimuxd/RxSwift: RxSwift를 스터디하는 공간 RxSwift를 스터디하는 공간. Contribute to fimuxd/RxSwift development by creating an account on GitHub. github.com Time Based Operator? 직역하여 생각하면 시간에 기반한 오퍼레이터 입니다. 시간에 기반한다.. Rx에서 시간 흐름에 따라 데이터가 들어오게 됩니다. 그렇다면 이 관련..
-
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가 방출됩니다. 여기..