gpt4 book ai didi

ios - 在哪里实现 applicationWillResignActive(_ :)?

转载 作者:可可西里 更新时间:2023-11-01 01:09:23 25 4
gpt4 key购买 nike

为了让 ViewController 在应用进入后台状态之前“做一些特定的事情”...

据我所知,这种事情通常在内部处理applicationWillResignActive(_:) 方法,但此方法位于 AppDelegate 类中,而不是 ViewController .

这是我第一次在 IOS 上做生命周期相关的东西,所以我不确定是否:

1) 从 AppDelegate 类中调用一个 ViewController 方法。这意味着我必须将方法从私有(private)更改为公共(public)。

2) ViewController implement UIApplicationDelegate

PS - 只要 ViewController 实现 就可以删除 AppDelegate 类吗>UIApplication 委托(delegate)代替?

编辑:我应该补充一点,这是一个只有一个 View Controller 的单页应用程序(好吧,我想它最终会有一个设置 View Controller ......但我指的是“ViewController”永远不会从堆栈中弹出)。

谢谢!

最佳答案

通常,除非您有充分的理由,否则不应删除 AppDelegate。这不是一个好的理由。

对于您的场景,我将调查使用 NotificationCenter 来观察 UIApplicationWillResignActive 事件。每次应用程序进入后台时都会触发此事件。

有关详细信息,请参阅:Apple Docs

例如

func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated: animated)
NotificationCenter.default.addObserver(self, selector: #selector(youFunction), name: .UIApplicationWillResignActive, object: nil)
}

func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated: animated)
NotificationCenter.default.removeObserver(self)
}

关于ios - 在哪里实现 applicationWillResignActive(_ :)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48764576/

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