5 методов доступа к объекту AppDelegate в Swift

Чтобы получить объект AppDelegateв Swift, вы можете использовать любой из следующих методов:

  1. Метод 1: доступ к общему экземпляру UIApplication

    let appDelegate = UIApplication.shared.delegate as! AppDelegate
  2. Метод 2: использование протокола UIApplicationDelegate

    let appDelegate = UIApplication.shared.delegate as? AppDelegate
  3. Метод 3: прямой доступ к свойству UIApplication.shared.delegate

    let appDelegate = UIApplication.shared.delegate
  4. Метод 4. Использование свойства UIApplicationDelegateв SceneDelegate
    Если вы используете новую архитектуру многосценного приложения, вы можете получить доступ к AppDelegateчерез свойство windowSceneUISceneDelegate:

    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. Метод 5: доступ к объекту AppDelegateс помощью внедрения зависимостей
    Если у вас есть доступ к платформе внедрения зависимостей вашего приложения, вы можете внедрить объект AppDelegateпрямо в класс, где вам это нужно.