Avatar ·

Cómo obtener una referencia a AppDelegate en Swift: UIApplication.shared.delegate y alternativas

¡Hola a todos! Acabo de empezar a aprender Swift y desarrollo para iOS, y me encontré con un problema. Necesito acceder a algunos datos y métodos que se almacenan en mi AppDelegate desde otros controladores y clases. Sé que AppDelegate es un singleton creado por el sistema, pero no entiendo cómo obtener exactamente una referencia a él.

Aquí hay una versión simplificada de mi AppDelegate:

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
    
    var window: UIWindow?
    var userToken: String? // Token de autorización que se necesita en muchos controladores
    
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        userToken = "some_token_123"
        return true
    }
    
    func someCustomMethod() {
        print("Método de AppDelegate")
    }
}

Ahora, en uno de mis ViewController, estoy intentando obtener ac