본문 바로가기
iOS/iOS

UINavigationViewController (with. Coordinator Pattern)

by 패쓰킴 2023. 3. 2.
728x90

지저분한 viewController를 정리해보자

 

UINavigationController를 좀 더 관리하기 쉽고 재사용하기 쉽게하려면 Coordinator 패턴을 이용하면 된다.

한 곳에서 viewController들이 push되고 pop되는 등의 관리를 하고,

사용하는 곳에서는 관리클래스의 함수 하나만 호출해다 쓰면 된다.

 

기존의 방식은 

let vc = self.storyboardinstantiateViewController(withIdentifier: "id") as! someViewController
self.navigationController.pushViewController(vc, animated: true)

이렇게 매번 Avc가 Bvc를 알아야 했다.

이는 객체간 결합도가 높아지게 하는 방식이다.

 

따라서 , Coordinate pattern을 이용하면 지저분한 VC간 flow가 사라지고 독립적으로 관리 할 수 있게 된다.

 

Coordinator pattern은 3단계를 거쳐 구현한다.

1. Coordinator protocol 만들기

2. Concrete class 만들기(= 구상 클래스 MainCoordinator)

3. 원하는 VC를 Coordinator를 통해 push 받기

 

기존 화면 관계

 

coordinator pattern 형태

 

 

자세한 코드 구현은 참고한 사이트에 잘 나와있음

https://www.hackingwithswift.com/articles/71/how-to-use-the-coordinator-pattern-in-ios-apps

 

How to use the coordinator pattern in iOS apps

Simplify your navigation and your view controllers

www.hackingwithswift.com

 

728x90

'iOS > iOS' 카테고리의 다른 글

unlisted app(등록되지 않은 앱) 배포 방법  (0) 2023.03.03
애플 리젝  (4) 2023.03.03
네이버 지도 API  (0) 2023.02.15
keyboard 높이  (1) 2023.02.01
URL Scheme  (0) 2023.01.26

댓글