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