Junior — Middle
Jaký je účel komponenty Router ve vašem projektu?
sobes.tech AI
Odpověď od AI
Komponenta Router v iOS aplikaci je zodpovědná za navigaci mezi obrazovkami a moduly. Zapouzdřuje logiku přechodů, vytváří a předává potřebné ViewControllery a také řídí přenos dat mezi nimi.
To umožňuje:
- Oddělit odpovědnosti, oddělením navigace od obchodní logiky a UI.
- Zjednodušit testování a údržbu kódu.
- Centralizovat směrování, čímž jsou přechody předvídatelnější a lépe řízené.
Příklad použití Routeru:
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)
}
}