Sobes.tech
Junior — Middle

Ποιος είναι ο σκοπός του συστατικού Router στο έργο σας;

sobes.tech AI

Απάντηση από AI

Το συστατικό Router σε μια εφαρμογή iOS είναι υπεύθυνο για την πλοήγηση μεταξύ οθονών και μονάδων. Καλύπτει τη λογική των μεταβάσεων, δημιουργεί και μεταβιβάζει τα απαραίτητα 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)
    }
}