Junior — Middle
Pre koho je určená rola Router v architektúre MVVM?
sobes.tech AI
Odpoveď od AI
V architektúre MVVM úloha Routeru zvyčajne nie je priamo spojená s Modelom, View alebo ViewModel. Router je zodpovedný za navigáciu medzi obrazovkami aplikácie, teda za prechody a routovanie. V iOS aplikáciách je Router často implementovaný ako samostatná komponenta, ktorá riadi prechody medzi ViewControllermi, je volaná z ViewModel alebo Koordinátora a pomáha oddeliť logiku navigácie od obchodnej logiky a prezentácie.
Príklad: ViewModel informuje Router, že je potrebné prejsť na ďalšiu obrazovku, a Router vykoná prechod.
protocol Router {
func navigateToDetail()
}
class AppRouter: Router {
weak var navigationController: UINavigationController?
func navigateToDetail() {
let detailVC = DetailViewController()
navigationController?.pushViewController(detailVC, animated: true)
}
}