Sobes.tech
Junior — Middle

Mi a Router komponens feladata a projektjében?

sobes.tech MI

Válasz az MI-től

Az iOS alkalmazásban a Router komponens felelős a képernyők és modulok közötti navigációért. Beágyazza az átmenetek logikáját, létrehozza és átadja a szükséges ViewController-eket, valamint kezeli az adatok átadását közöttük.

Ez lehetővé teszi:

  • A felelősségek szétválasztását, a navigáció elkülönítését az üzleti logikától és a felhasználói felülettől.
  • A kód tesztelésének és karbantartásának egyszerűsítését.
  • A routing központosítását, így az átmenetek előrejelezhetőbbé és kezelhetőbbé válnak.

A Router használatának példája:

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