Как я могу получить доступ к UIApplicationDelegate из любого конкретного контроллера представления? - PullRequest
0 голосов
/ 22 апреля 2020

Сценарий: Я хочу установить логический флаг в делегате приложения, который доступен из контроллера представления.

Как мне получить доступ к этому флагу с любого View Controller?

Ответы [ 2 ]

0 голосов
/ 22 апреля 2020

Вы просто создаете флаг внутри своего делегата и получаете к нему доступ следующим образом:

let appDelegate = UIApplication.shared.delegate as! AppDelegate

0 голосов
/ 22 апреля 2020

Когда вы говорите "в AppDelegate", вы имеете в виду как свойство экземпляра? Если класс делегата приложения - AppDelegate, то его экземпляром является UIApplication.shared.delegate as! AppDelegate, и любые свойства экземпляра, которые у него могут быть, могут быть доступны через эту ссылку.

Но если вы просто имеете в виду "в файле AppDelegate.swift , но вне самого класса AppDelegate ", тогда эта переменная является глобальной и может быть доступна напрямую из любого места.

...