17. MVVM
Wiki: MVVM은 GUI 코드로 구현하는-그래픽 사용자 인터페이스(뷰)의 개발을 비즈니스 로직 또는 백
-엔드 로직(모델)로부터 분리시켜서 뷰가 어느 특정한 모델 플랫폼에 종속되지 않도록 해준다.
18. MVVM
Wiki: MVVM은 GUI 코드로 구현하는-그래픽 사용자 인터페이스(뷰)의 개발을 비즈니스 로직 또는 백
-엔드 로직(모델)로부터 분리시켜서 뷰가 어느 특정한 모델 플랫폼에 종속되지 않도록 해준다.
MVC에서 불편했던 모든 로직이 뷰컨에 의존한다는 것을 해결해줄 수 있다!
33. 로직을 어떻게 테스트 하지?
원하는 액션을 테스트할 수 있어요!!
ex.) 버튼을 한번 눌렀을 경우 => Label에 1이 보여지는가?, 최대 터치 경고가 안보이는가?
' 버튼을 한번 눌렀을 경우 => ViewModel.input.tapButton에 이벤트 하나 전송!
' Label에 1이 보여지는가? => ViewModel.output.touchCount로 1을 전달 받았는가?
' 최대 터치 경고가 안보이는가? => ViewModel.output.showErrorAlert으로 이벤트가 안왔는가?
ViewModel.swift
34. 로직을 어떻게 테스트 하지? 2222222
원하는 액션을 테스트할 수 있어요!!
ex.) 버튼을 네번 눌렀을 경우 => Label에 3이 보여지는가?, 최대 터치 경고가 보이는가?
' 버튼을 네번 눌렀을 경우 => ViewModel.input.tapButton에 이벤트 4개 전송!
' Label에 3이 보여지는가? => ViewModel.output.touchCount로 1, 2, 3을 전달 받았는가?
' 최대 터치 경고가 보이는가? => ViewModel.output.showErrorAlert으로 이벤트가 왔는가?
ViewModel.swift