Sobes.tech
Junior — Middle

Kokia yra Router komponento paskirtis jūsų projekte?

sobes.tech AI

Atsakymas iš AI

iOS programėlėje Router komponentas atsakingas už navigaciją tarp ekranų ir modulių. Jis kapsuliuoja perėjimo logiką, kuria ir perduoda reikalingus ViewController'us, taip pat valdo duomenų perdavimą tarp jų.

Tai leidžia:

  • Atskirti atsakomybę, atskiriant navigaciją nuo verslo logikos ir UI.
  • Supaprastinti kodo testavimą ir palaikymą.
  • Centralizuoti maršrutizavimą, padarant perėjimus labiau prognozuojamus ir valdomus.

Router naudojimo pavyzdys:

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