Sobes.tech
Junior — Middle

Quelle est la fonction du composant Router dans votre projet?

sobes.tech IA

Réponse de l'IA

Le composant Router dans une application iOS est responsable de la navigation entre les écrans et les modules. Il encapsule la logique des transitions, en créant et en passant les ViewController nécessaires, et gère également le transfert de données entre eux.

Cela permet de:

  • Séparer les responsabilités, en distinguant la navigation de la logique métier et de l'interface utilisateur.
  • Simplifier les tests et la maintenance du code.
  • Centraliser le routage, rendant les transitions plus prévisibles et contrôlables.

Exemple d'utilisation du Router:

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