Junior — Middle
Qual é a finalidade do componente Router no seu projeto?
sobes.tech IA
Resposta da IA
O componente Router numa aplicação iOS é responsável pela navegação entre telas e módulos. Encapsula a lógica de transições, criando e passando os ViewController necessários, e também gere a transferência de dados entre eles.
Isto permite:
- Separar responsabilidades, distinguindo a navegação da lógica de negócio e da interface de utilizador.
- Simplificar os testes e a manutenção do código.
- Centralizar o roteamento, tornando as transições mais previsíveis e controláveis.
Exemplo de uso do 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)
}
}