gpt4 book ai didi

ios 模拟器 viewDidLoad,viewDidAppear 在关闭或退出后未调用

转载 作者:行者123 更新时间:2023-11-28 11:03:27 30 4
gpt4 key购买 nike

我的应用程序有一个 View Controller 和一个 View 。当我从 xcode 在模拟器上运行我的应用程序时,应用程序加载并且 viewDidLoadviewDidAppear 都按预期被调用。

  1. 当我转到模拟器主屏幕然后返回应用程序时,我希望调用 viewDidLoad,但实际上没有。

  2. 当我退出通过以下应用程序 these directions ,然后重新启动应用程序,我期望这两个方法都被调用,但都没有被调用。

如果这些事件不会触发这些调用,那么什么会触发这些调用?很难相信在真实设备上,viewDidLoad 只被调用一次 - 第一次加载应用程序时。

最佳答案

它说“加载”。它的字面意思是在加载(实例化) View Controller 时调用它。当 View 出现时也会调用“出现”,就像您按下它或关闭其上方的其他 View Controller 时一样。

你想要的是注册以下通知

static let UIApplicationWillEnterForeground: NSNotification.Name
static let UIApplicationDidEnterBackground: NSNotification.Name
static let UIApplicationDidBecomeActive: NSNotification.Name

在您的 View Controller 的 viewDidLoad() 中添加通知。

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

然后当应用程序从后台再次激活时将调用以下方法。

func applicationDidBecomeActive() {
// Update your view controller
}

案例二:

如果您按照说明退出应用程序,调试 session 将终止,因此断点和日志将不起作用。如果您退出您的应用程序并想要检查断点或日志,您需要在 Xcode 中再次点击运行。

关于ios 模拟器 viewDidLoad,viewDidAppear 在关闭或退出后未调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39782167/

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