gpt4 book ai didi

ios - 如何在首次启动后停止重新加载 ViewController

转载 作者:行者123 更新时间:2023-11-28 22:20:36 25 4
gpt4 key购买 nike

有什么方法可以停止重新加载 View Controller ,即使按下了 push segue 的按钮?由于 View Controller 可能有一些程序处理,这可能需要时间,我不想再次重新加载该 View 并在用户单击导航到该 View 时再次重新启动程序。

非常感谢你帮助我。

最佳答案

任何需要仅在应用程序启动时运行的代码都可以放在 appDidFinishLaunching:withOptions: 中。

如果您的代码需要仅在第一次启动应用程序时作为设置代码运行,然后只要应用程序仍安装在设备上就再也不会运行,您仍然可以使用 appDidFinishLaunching: withOptions:,但您需要添加一些逻辑来确定该应用程序之前是否已启动。最简单的实现方式如下所示:

if ([[NSUserDefaults standardUserDefaults] boolForKey:@"previouslyLaunched"]) {
// app already launched
} else {
[[NSUserDefaults standardUserDefaults] setBool:YES
forKey:@"previouslyLaunched"];
[[NSUserDefaults standardUserDefaults] synchronize];
// This is the first launch ever
}

编辑:您也可以将上述代码片段应用于各个 View Controller 。


但请注意, View Controller 的 viewDidLoad 方法不一定会在每次显示 View 时都被调用。一旦 viewDidLoad 被调用并且 View 被放入导航堆栈,viewDidLoad 将不会被再次调用,除非 View 被从导航堆栈中移除然后需要被放置回到导航堆栈。

例如,当使用导航 Controller 时,第一次呈现第一个 View 时,viewDidLoadviewWillAppearviewDidAppear 方法都被称为。当您导航到导航 Controller 中的下一个 View ,然后返回到第一个 View 时,viewWillAppearviewDidAppear 将再次被调用,但是 viewDidLoad 不会再被调用。

关于ios - 如何在首次启动后停止重新加载 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20534582/

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