Sobes.tech
Junior — Middle

Aký je účel komponentu Router vo vašom projekte?

sobes.tech AI

Odpoveď od AI

Komponent Router v iOS aplikácii je zodpovedný za navigáciu medzi obrazovkami a modulmi. Zapúzdruje logiku prechodu, vytvára a odovzdáva potrebné ViewControllery a tiež riadi prenos dát medzi nimi.

Toto umožňuje:

  • Oddeliť zodpovednosti, oddelením navigácie od obchodnej logiky a UI.
  • Zjednodušiť testovanie a údržbu kódu.
  • Centralizovať routovanie, čím sú prechody predvídateľnejšie a lepšie riadené.

Príklad použitia Routera:

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)
    }
}