Sobes.tech
Junior — Middle

Qual è la funzione del componente Router nel tuo progetto?

sobes.tech AI

Risposta dell'AI

Il componente Router in un'app iOS è responsabile della navigazione tra schermate e moduli. Incapsula la logica delle transizioni, creando e passando i ViewController necessari, e gestisce anche il trasferimento di dati tra essi.

Questo permette di:

  • Separare le responsabilità, distinguendo la navigazione dalla logica di business e dall'interfaccia utente.
  • Rendere più semplice il testing e la manutenzione del codice.
  • Centralizzare il routing, rendendo le transizioni più prevedibili e controllabili.

Esempio di utilizzo del 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)
    }
}