Sobes.tech
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)
    }
}