티스토리 뷰

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
«   2024/09   »
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
글 보관함