티스토리 뷰

iOS/스위프트

[Swift][RxAlamofire] RxAlamofire 맛보기

기본만하자. 2021. 5. 12. 18:02
반응형

저번 포스트에서의 목표를 그대로 RxAlamofire를 적용시켰습니다.

RxAlamofire, RxCodable, RxSwift를 사용하였습니다.

 

 

AirModel 클래스를 생성합니다.

방식은 저번과 같지만 Rx를 사용할 수 있다는 장점이 있습니다.

Rx 사용 시 비동기로 받는 데이터를 조금 더 편하게 수정, 전달하고 사용할 수 있습니다.

 

이번엔 Rx를 사용하는 만큼 프로토콜 대신 PublishSubject를 사용하여 비동기로 데이터를 전달하겠습니다.

RxAlamofire.requestData를 사용하여 이전과 같이 메소드, url, 파라미터를 전달합니다.

이후 Observable<(HTTPURLResponse, Data)>에서 저희는 Data를 사용하겠습니다. ( .map{$1} )

.map을 이용하여 json데이터를 파싱합니다. ( RxCodable사용 )

이후 받아온 데이터를 PublishSubject에 담습니다.

 

ViewController는 이전 포스트와 매우 비슷합니다.

delegate 대신 PublishSubject변수를 전달합니다.

또한 받아온 데이터를 ViewController에서 처리하여 UI를 변경할 수 있습니다.

 

전체코드입니다.

github.com/rising-jun/RxAlamofirePractice

 

rising-jun/RxAlamofirePractice

Contribute to rising-jun/RxAlamofirePractice development by creating an account on GitHub.

github.com

감사합니다!

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함
반응형