Sobes.tech
Junior — Middle

Jaki jest cel komponentu Router w Twoim projekcie?

sobes.tech AI

Odpowiedź od AI

Komponent Router w aplikacji iOS odpowiada za nawigację między ekranami i modułami. Encapsuluje logikę przejść, tworzy i przekazuje potrzebne ViewControllery, a także zarządza przekazywaniem danych między nimi.

To pozwala:

  • Oddzielić odpowiedzialność, oddzielając nawigację od logiki biznesowej i UI.
  • Ułatwić testowanie i utrzymanie kodu.
  • Zcentralizować routowanie, czyniąc przejścia bardziej przewidywalnymi i kontrolowanymi.

Przykład użycia 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)
    }
}