如何访问“func applicationWillResignActive”中UIViewController的变量?斯威夫特,iOS Xcode

2023-12-22

我的 UIViewController 类设置如下:

class ViewController: UIViewController {

    var currentTask: NSURLSessionTask?

    ...

}

如果用户按下主页按钮,我想做

self.currentTask.cancel()

但是我如何从 AppDelegate.swift 访问这个变量?

func applicationWillResignActive(application: UIApplication) {

}

在 UIViewController 类中的 viewDidLoad() 中,添加

    // Add UIApplicationWillResignActiveNotification observer
    NSNotificationCenter.defaultCenter().addObserver(
        self,
        selector: "resigningActive",
        name: UIApplicationWillResignActiveNotification,
        object: nil
    )
    NSNotificationCenter.defaultCenter().addObserver(
        self,
        selector: "becomeActive",
        name: UIApplicationDidBecomeActiveNotification,
        object: nil
    )

对于 Swift 4、iOS 11,请使用以下命令:

 NotificationCenter.default.addObserver(
    self, 
    selector: #selector(ViewController.resigningActive), 
    name: NSNotification.Name.UIApplicationWillResignActive, 
    object: nil)

 NotificationCenter.default.addObserver(
    self, 
    selector: #selector(ViewController.becomeActive), 
    name: NSNotification.Name.UIApplicationDidBecomeActive, 
    object: nil)

最后将这两个函数添加到您的视图控制器中:

@objc fileprivate func resigningActive() {
    print("== resigningActive ==")
}

@objc fileprivate func becomeActive() {
    print("== becomeActive ==")
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何访问“func applicationWillResignActive”中UIViewController的变量?斯威夫特,iOS Xcode 的相关文章

随机推荐