Sobes.tech
Junior — Middle

Was ist die Aufgabe des Router-Komponenten in Ihrem Projekt?

sobes.tech KI

Antwort von AI

Die Router-Komponente in einer iOS-Anwendung ist für die Navigation zwischen Bildschirmen und Modulen verantwortlich. Sie kapselt die Logik der Übergänge, erstellt und übergibt die benötigten ViewController und verwaltet auch die Datenübertragung zwischen ihnen.

Dies ermöglicht:

  • Verantwortlichkeiten zu trennen, indem die Navigation von der Geschäftslogik und der Benutzeroberfläche getrennt wird.
  • Das Testen und die Wartung des Codes zu vereinfachen.
  • Das Routing zu zentralisieren, um Übergänge vorhersehbarer und kontrollierbarer zu machen.

Beispiel für die Verwendung des Routers:

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