Notice
Recent Posts
Recent Comments
Link
clyne의 개발 기록
[RxSwift+MVVM] 기본 구조 실전 예제 본문
안녕하세요
iOS 개발자 CNOO입니다!
오늘은 제가 자주 사용하는 MVVM (RxSwift를 활용한) 아키텍처를 심플하게 보여드리고자 합니다.
구현하고자 하는 것은 간단히
"추가"버튼을 눌렀을 때, 숫자가 1씩 늘어나고
"초기화"버튼을 눌렀을 때, 숫자가 0이 되는
예제를 보여드리고자 합니다.
구성은
ViewController
ViewModel
로 이루어져 있으며,
ViewController가 View의 역할을 할 것입니다.
Model - View - ViewModel
자! MVVM아키텍쳐의 핵심은 바로, View가 하는 것을 ViewModel이 모르게 하라!!
ViewModel은 View와의 바인딩 만으로
View가 뭘 하든 알 수 없게 해야하고.
View는 ViewModel에서 보내주는 데이터를 뿌려주는 역할만 함으로써 완벽한 업무분배가 되도록 하는 것입니다.
먼저, 완성된 화면부터 살짝 보고 가실게용 ㅎㅎ
완성된 화면
그 다음으로 제가 작성한 코드를 통해 보도록 하겠습니다.
MVVM 구조 예제 (코드)
제가 주로 사용하는 MVVM 구조입니다.
Int 대신에 Model 을 따로 만들어서, 이해하기 더 쉽도록 만들었습니다.
UI가 변경되어야 하는 부분에서는 RxCocoa에 포함되어있는 Driver로 하였고 (메인스레드 동작)
뷰모델을 뷰와 바인딩할 때, Input과 Output이라는 구조체로 만들었습니다.
코드 보시고, 이해가 잘 안가는 부분이 있으시거나,
조금 더 수정 보완해야하는 부분 있다면, 댓글 남겨주세요 ㅎㅎ
그럼 다음시간에 만나요~~
'iOS > MVVM' 카테고리의 다른 글
[MVVM-iOS] ViewModel에서 push, present 하기 (0) | 2021.04.19 |
---|