Sobes.tech
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)
    }
}