본문 바로가기

RxSwift

(3)
RxSwift, Input과 Output으로 MVVM패턴 적용하기 RxSwift를 공부하면서 앱을 만들면서 MVVM패턴을 도전해보았습니다. 하지만 개발하면서 뭔가 MVVM답지 않게 프로그래밍한다고 느껴서 좀 더 찾아본 결과 Input, Output을 활용한 MVVM구조가 있어서 바로 적용해보았습니다 :) RxSwift, Input과 Output으로 MVVM패턴 적용하기 github에서 많은 MVVM-Rx 예제들을 보면서 첫 틀을 갖추고 시작하여 많이 벗어나는 경우는 없었지만 이런 경우에는 살짝 애매했습니다. Button Tap -> Bind to ViewModel.buttonDidTapped -> Business Logic in ViewModel -> Subscribe ViewModel.result in View -> Make event depends on result..
RxSwift, Network Error 처리하기 RxSwift에서 networking을 주로 Single객체로 처리한다. 이 때, error가 발생할 경우 single(.error(error))로 이벤트를 처리하면 해당 Stream이 종료된다. 이럴 경우 enum을 활용하여 error를 처리해보자! RxSwift, Network Error 처리하기 Rx에서 Observable은 이벤트가 Complete되거나 Error가 발생될 경우 해당 Stream이 종료된다. 그래서 networking에서 error를 그대로 onError에 담아서 보내면 해당 Observable과 연결되어 있는 Stream이 전부 종료되버린다. 이렇게 되면 다음 이벤트를 처리할 수 없으므로 아래와 같이 enum을 활용하여 networking 결과를 리턴하자. // Networkin..
RxSwift의 Subject에 대해 알아보자 RxSwift에는 다양한 Subject들이 있다.각각 어떤 요소들인지 알아보고 정리해볼 필요가 있다고 느꼈다!# RxSwift의 Subject에 대해 알아보자먼저 Subject가 뭔지 알아보자.Subject는 쉽게 말해 Observer와 Observable의 역할을 같이 할 수 있는 존재이다.Observer의 역할로써 Observable을 구독할 수 있고 Observable의 역할로써 이벤트를 발행할 수 있다..!! 현재 RxSwift에는 4가지 Subject가 있다. 1. AsyncSubject2.BehaviorSubject3.PublishSubject4.ReplaySubject 하나씩 알아보자!! 1. AsyncSubject Observable의 마지막 값만 발행하고 Observable이 Comple..