Sobes.tech
Junior — Middle

Mis on Router komponendi eesmärk teie projektis?

sobes.tech AI

Vastus AI-lt

Komponenti Router iOS rakstā ir atbildīgs par navigāciju starp ekrāniem un moduļiem. Tas inkapsulē pārejas loģiku, izveido un nodod nepieciešamos ViewController, kā arī pārvalda datu pārraidīšanu starp tiem.

Tas ļauj:

  • Atdalīt atbildību, nodalot navigāciju no biznesa loģikas un UI.
  • Vienkāršot koda testēšanu un uzturēšanu.
  • Centralizēt maršrutēšanu, padarot pārejas prognozējamākas un pārvaldāmākas.

Router izmantošanas piemērs:

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