Junior — Middle
როგორ ხდება ნავიგაციის ბმულების მართვა და შენახვა UINavigationController-ის შიგნით?
sobes.tech AI
პასუხი AI-სგან
UINavigationController მართავს ხედების კონტროლერების (view controllers) სტეკს, სადაც ყოველი ახალი ეკრანი განთავსებულია წინამორბედის თავზე. ნავიგაციის ბმულები ინახება viewControllers მასივში, რომელიც წარმოადგენს სტეკს.
როდესაც თქვენ იძახით pushViewController:animated:-ს, ახალი კონტროლერი ემატება სტეკის ბოლოში, ხოლო popViewControllerAnimated:-ის გამოძახებისას — ზედა კონტროლერი ამოიღება, რაც მომხმარებელს უბრუნებს წინა ეკრანს.
მაგალითი:
// ახალი ეკრანის დამატება
navigationController?.pushViewController(detailVC, animated: true)
// უკან დაბრუნება
navigationController?.popViewController(animated: true)
// მიმდინარე კონტროლერების სტეკის მიღება
let stack = navigationController?.viewControllers
ამ გზით, UINavigationController უზრუნველყოფს აპლიკაციის ეკრანზე ნავიგაციის მარტივ მართვას კონტროლერების სტეკის მეშვეობით.