MVP패턴이 잘 이해가지 않아 다시 복습겸 공부해보자
먼저
ViewController
는 프레젠터 객체를 소유한다
프레젠터는 뷰컨을 가지지 않으면서도 뷰컨에게 정보를 업데이터 시켜주기 위해 프로토콜을 만들고 채택한다
이때 뷰컨트롤러가 해야할 일을 프로토콜에 넣는 것일 뿐이므로 변수명만 뷰컨으로 해놓으면 나중에 파라미터로 self를 넣을 수 있어 보기 편안하다
평소같았으면
setupNavigationBar()
메서드를 뷰디드로드에 실행시켜 만들었으나 이제는 프리젠터를 통해서 만들어주어야한다
이를 위해서 프로토콜에
setupNavigationBar()
메서드를 추가시켜준다.
이렇게 프로토콜로 추가해주면 뷰컨트롤러는 비로소setupNavigationBar()
를 호출할 수 있게된다
이때 마치 뷰컨의 뷰디드로드에 불리는 것처럼 자연스럽게 코드작성을 하고 싶다면 프리젠터에 뷰디드로드 함수를 만들어 프로토콜 필수 메서드를 실행시킨다