Sobes.tech
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 უზრუნველყოფს აპლიკაციის ეკრანზე ნავიგაციის მარტივ მართვას კონტროლერების სტეკის მეშვეობით.