문제
View+PhotoSelection.swift의 View modifier가 인증사진 모달 닫기(onDismiss) 시 timerViewModel.reset()을 직접 호출합니다.
onDismiss: {
photoViewModel.dismissModal()
timerViewModel.reset() // View 레이어가 타이머를 제어
}
View가 두 ViewModel의 협력 방식을 알고 있어 책임이 과도하게 분산되어 있습니다.
해결 방향
- 인증사진 완료 후 타이머 리셋이 필요한 이유는 "인증사진 플로우가 완료됐음"을 타이머에 알려야 하기 때문
PhotoSelectionViewModel에 onCertificationCompleted: (() -> Void)? 콜백을 두거나
TimerViewModel에 onCertificationDismissed() 메서드를 추가해 View는 단순 호출만 하도록 변경