Чтобы получить объект AppDelegate
в Swift, вы можете использовать любой из следующих методов:
-
Метод 1: доступ к общему экземпляру
UIApplication
let appDelegate = UIApplication.shared.delegate as! AppDelegate
-
Метод 2: использование протокола
UIApplicationDelegate
let appDelegate = UIApplication.shared.delegate as? AppDelegate
-
Метод 3: прямой доступ к свойству
UIApplication.shared.delegate
let appDelegate = UIApplication.shared.delegate
-
Метод 4. Использование свойства
UIApplicationDelegate
вSceneDelegate
Если вы используете новую архитектуру многосценного приложения, вы можете получить доступ кAppDelegate
через свойствоwindowScene
UISceneDelegate
:guard let windowScene = UIApplication.shared.connectedScenes.first as? UIWindowScene, let appDelegate = windowScene.delegate as? AppDelegate else { // Handle the absence of the AppDelegate object return }
-
Метод 5: доступ к объекту
AppDelegate
с помощью внедрения зависимостей
Если у вас есть доступ к платформе внедрения зависимостей вашего приложения, вы можете внедрить объектAppDelegate
прямо в класс, где вам это нужно.