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