classSecondViewController: UIViewController, Coordinating{ //코디네이팅을 추가해주자.// coordinator를 제어할 변수를 만들어주자. 해당 변수가 하는 역할이 여기선 없어보일수 있지만 나중에 코디네이터 쪽에서 필요하기에 없으면 동작이 안된다.var coordinator: Coordinator?
//단순히 화면색깔이 파란색인 뷰를 만들어주자.overridefuncviewDidLoad() {
super.viewDidLoad()
title ="Second"
view.backgroundColor = .systemBlue
}
}
3. 이제 코디네이터를 만들어주자. 여기서 코디네이터는 프로토콜을 활용해서 만들어줄 것이며 해당 코디네이터는 viewmodel 역할을 한다고 생각하면 편하다.
//버튼이 눌려졌을때의 이벤트를 관리해주자.enumEvent{
case buttonTapped
}
//코디네이터 프로토콜을 생성하자.protocolCoordinator{
//네비게이션 컨트롤러 -> VC a 와 VC b 사이를 네비게이션으로 제어하기 위해 넣었다.var naviationController: UINavigationController? {
getset
}
var children: [Coordinator]? {getset}
//터치시 이벤트가 일어나는 함수funceventOccured(withtype: Event)//시작하는 함수funcstart()
}
//코디네이팅 프로토콜 해당 프로토콜을 통해서 코디네이터 프로토콜에 들어간다.protocolCoordinating{
var coordinator: Coordinator? {getset}
}