Sobes.tech
Junior — Middle

რა მიზანს ემსახურება თქვენი პროექტის Router კომპონენტი?

sobes.tech AI

პასუხი AI-სგან

iOS აპლიკაციაში Router კომპონენტი პასუხისმგებელია ეკრანებსა და მოდულებს შორის ნავიგაციისთვის. იგი კაპსულირებს გადასვლის ლოგიკას, ქმნის და გადასცემს საჭირო ViewController-ებს, ასევე მართავს მათ შორის მონაცემების გადაცემას.

ეს საშუალებას აძლევს:

  • პასუხისმგებლობების განყოფილება, ნავიგაციის გამოყოფა ბიზნეს-ლოგიკიდან და UI-დან.
  • კოდის ტესტირების და შენარჩუნების გამარტივება.
  • მარშრუტიზაციის ცენტრალიზაცია, რაც გადასვლებს უფრო წინასწარმეტყველებად და მართვადს ხდის.

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