UIWindow в AppDelegate или немного о свойстве window в iOS

У всех iOS-приложений по умолчанию есть класс AppDelegate, у которого можно использовать свойство window.

//
//  proSwift.ru
//

class viewController: UIViewController {

    func saveData() {
        let navigationController = window!.rootViewController as! UINavigationController
        let controller = navigationController.viewControllers[0] as! SomeCustomViewController
        controller.saveProcedure()
    }

}

Метод  saveData()  использует свойство window класса AppDelegate, чтобы найти объект UIWindow который содержит Storyboard. Далее, используя свойство класса UIWindow rootViewController мы получаем контроллер, который является корневым, т.е. тот который является точкой входа в наше iOS-приложение. В Storyboard этот контроллер отмечен серой стрелкой и птичкой Is Inital View Controller.

rootViewController_proSwift_ru

UIWindow является контейнером верхнего уровня для всех view вашего приложения. В мобильном iOS-приложении существует только один UIWindow (в отличие от настольных приложений, которые, как правило, имеют несколько окон).

Добавить комментарий

Ваш адрес email не будет опубликован.

*

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.