clyne의 개발 기록
[RxSwift] RxSwift로 비동기 처리하는 가장 심플한 예제 본문
모든 라이브러리가 그렇듯, 우리는 RxSwift를 공부하면서 가장 먼저, 그리고 가장 최우선적으로 참고해야하는 곳이 바로 공식 사이트 입니다.
그러나!!!!!!
이미 RxSwift를 공부하시기 시작한 분은 다른 포스팅에서 숱하게 보셨을테니...
저는 RxSwift를 공부하면서 스스로 깨달았던 부분들에 대해서 포스팅해보려 합니다.
(그래도 공식사이트 링크 정도는 남겨두도록 하겠습니다 ㅎㅎ 저도 자주 들어가보곤 하니까 링크 하나 있으면 편하겠네요~
기본적으로 공식사이트에는 아래와같이

An API for asynchronous programming with observable streams
라고 적혀있는데요.. 이 문장의 의미를 최대한 심플하게 이해하실 수 있도록 예제를 작성해보겠습니다.
* RxSwift로 비동기 처리하는 가장 심플한(?) 예제
코드는 아주 간단한 것으로 준비했습니다.
서버에서 int값 하나를 가지고 온다고 가정하고, 서버에서 int값을 가지고 오는 시간은 총 2초라고 가정하고 코드를 짜보겠습니다.
우리의 목표는 로컬에서 가지고 있는 int값에다가 서버에서 가지고 온 int값을 더하여 출력하는 것입니다.
기존 로직 1
여러 방법을 생각해볼 수 있지만, 그냥 가장 쉽게 2초 후에 메인스레드에서 동작하는 코드를 작성해보았습니다.
아주 익숙한 코드죠?
그냥 서버에서 가지고온 것을 그냥 고대로 더합니다.
결과는

기존 로직 2 (Completion 활용)
이것도 아주 익숙한 코드죠! Closure를 활용하여 Completion 으로 콜백 받아서 처리하는 비동기 처리 방식이죵
결과는 모두 아실테니 따로 첨부하지 않을게요~
RxSwift를 활용하여 비동기 처리
혼자 공부하고자 올리는 블로그라
Stream이 뭔지, 사용법은 어떻게 되는지에 대해서는 따로 상세히 설명하지는 않을 것입니다.
RxSwift로 처리하는 코드는 이렇게 짜여지겠네요!
어느정도 감이 오시나요?
조금은 어렵고 익숙지 않지만, 여러번 반복하다보면 익숙해지니까 우리모두 반복숙달 해보자구요
'iOS > RxSwift' 카테고리의 다른 글
[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 |
[RxSwift] RxSwift를 공부하게된 이유 + 소개 (0) | 2021.04.04 |