View 역할 분리 - siwonkim0/ios-project-manager GitHub Wiki

View에서 화면의 데이터를 반환하는 메서드를 정의하여도 괜찮을까?

뷰의 역할은 화면을 그리는 역할이기때문에 화면 뷰 요소에 담긴 데이터를 모델 형식으로 반환하는 메서드를 ProjectDetailView → ProjectDetailViewController로 위치를 이동시켰습니다.

func createViewData() -> Project {
    return Project(
        id: UUID(),
        state: .todo,
        title: projectDetailView.titleTextField.text ?? "",
        body: projectDetailView.bodyTextView.text ?? "",
        date: projectDetailView.datePicker.date)
}

func updatedViewData(with oldProject: Project) -> Project {
    return Project(
        id: oldProject.id,
        state: oldProject.state,
        title: projectDetailView.titleTextField.text ?? "",
        body: projectDetailView.bodyTextView.text ?? "",
        date: projectDetailView.datePicker.date)
}