Junior — Middle
What is the purpose of the Router component in your project?
sobes.tech AI
Answer from AI
The Router component in an iOS application is responsible for navigation between screens and modules. It encapsulates the transition logic, creating and passing the necessary ViewControllers, and also manages data transfer between them.
This allows:
- To separate responsibilities, isolating navigation from business logic and UI.
- To simplify testing and maintenance of the code.
- To centralize routing, making transitions more predictable and manageable.
Example of using Router:
protocol Router {
func navigateToDetail(with id: Int)
}
class AppRouter: Router {
let navigationController: UINavigationController
init(navigationController: UINavigationController) {
self.navigationController = navigationController
}
func navigateToDetail(with id: Int) {
let detailVC = DetailViewController(id: id)
navigationController.pushViewController(detailVC, animated: true)
}
}