Avatar ·

如何在Swift中获取AppDelegate的引用:UIApplication.shared.delegate及替代方案

大家好!我刚开始学习Swift和iOS开发,遇到了一个问题。我需要从其他控制器和类中访问存储在AppDelegate中的一些数据和方法的访问权限。我知道AppDelegate是系统创建的单例,但我不明白如何获取它的引用。

这是我的AppDelegate的简化版本:

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
    
    var window: UIWindow?
    var userToken: String? // 许多控制器需要的授权令牌
    
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        userToken = "some_token_123"
        return true
    }
    
    func someCustomMethod() {
        print("AppDelegate方法")
    }
}

现在,在我的一个ViewController中,我试图获取到AppDelegate的引用,但遇到了问题。