Sobes.tech
Junior — Middle

Koja je svrha komponenta Router u vašem projektu?

sobes.tech АИ

Одговор од АИ

Komponenta Router u iOS aplikaciji odgovorna je za navigaciju između ekrana i modula. Ona inkapsulira logiku prelaza, kreira i prosleđuje potrebne ViewController-e, kao i upravlja prenosom podataka između njih.

Ovo omogućava:

  • Odvajanje odgovornosti, razdvajajući navigaciju od poslovne logike i UI.
  • Olakšavanje testiranja i održavanja koda.
  • Centralizaciju rutiranja, čineći prelaze predvidljivijim i kontrolisanijim.

Primer korišćenja Router-a:

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