gpt4 book ai didi

ios - 如何在 Swift 中从 Appdelegate 调用 View Controller 中的方法?

转载 作者:行者123 更新时间:2023-11-28 10:09:53 25 4
gpt4 key购买 nike

enter image description here

这个Main Menu VC会在应用第一次启动或者用户返回应用后(应用进入后台状态后激活)打开。

每次打开主菜单 VC 时,理想情况下我需要更新日期时间数据来自服务器的时间。在这个主菜单 vc 类中,我调用了 getDateTimeFromServer() 之后我调用了 updateUI()

但要在应用程序进入后台并返回前台后更新数据,getDateTimeFromServer()updateUI() 应从 Appdelegate 使用函数激活。

func applicationWillEnterForeground(application: UIApplication) {

}

那么如何从 AppDelegate 激活 Main Menu VC 中存在的方法

最佳答案

您不需要在应用委托(delegate)中调用 View Controller 方法。在您的 Controller 中观察前台事件并从那里调用您的方法。

在您的 viewController viewDidLoad 中观察 UIApplicationWillEnterForeground 通知:

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

实现这个在用户进入前台时接收回调

@objc func yourMethod() {
// Call getDateTimeFromServer()
}

关于ios - 如何在 Swift 中从 Appdelegate 调用 View Controller 中的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49278542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com