gpt4 book ai didi

ios - presentViewController会不会导致内存耗尽?

转载 作者:可可西里 更新时间:2023-10-31 23:44:19 27 4
gpt4 key购买 nike

有一点我误解了。我目前正在使用 Swift 开发一个应用程序。为了简化多个开发人员的工作,该项目被分成多个 Storyboard。当应用程序启动时,我们使用 App Delegate 来确定是否显示教程。

无论选择哪个 View ,我们都实例化 Storyboard,然后实例化初始 View Controller ,如下所示:

// Show the Welcome Tutorial
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)

let initialStoryboard: UIStoryboard = UIStoryboard(name: "WelcomeTutorial", bundle: nil)

let initialViewController: TutorialVC = initialStoryboard.instantiateViewControllerWithIdentifier("TutorialVC") as! TutorialVC

self.window?.rootViewController = initialViewController

self.window?.makeKeyAndVisible()

然后,当我们想移动到不同的 Storyboard时,我们使用相同的代码,但将最后两行替换为 presentViewController。但是,据我了解,这是在构建堆栈。我们永远不会调用 dismissViewController 或返回到之前的 View Controller ,因此它可以被关闭。有没有更好的方法可以在不创建堆栈的情况下执行此操作?我担心堆栈正在浪费内存。我可以让 segues 与 Storyboard 引用一起工作,但我不知道这是否会产生同样的问题。

最佳答案

你是对的。当像您描述的那样呈现 View Controller 时,您正在构建一个堆栈。如果您不再需要模态视图 Controller ,请关闭它。如果窗口的根 Controller 需要换成另一个,分配一个新的并让旧的死掉。一如既往,注意强引用!

关于ios - presentViewController会不会导致内存耗尽?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34730996/

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