【发布时间】:2017-07-05 17:22:04
【问题描述】:
我有 3 个 ViewController。 第一个 ViewController 正在检查用户是否已登录。 如果是 performSegue 到 mainVC,如果没有 performSegue 到 loginVC。
当我在 loginVC 中时,我登录并执行 Segue 到 mainVC。
我现在想要的是,我想让所有未使用的 ViewControllers 都被“删除”,以节省内存。 这将如何运作?
我在 StackOverflow 中找到了这段代码:
class ManualSegue: UIStoryboardSegue {
override func perform() {
sourceViewController.presentViewController(destinationViewController, animated: true) {
self.sourceViewController.navigationController?.popToRootViewControllerAnimated(false)
UIApplication.sharedApplication().delegate?.window??.rootViewController = self.destinationViewController
}
}
}
这会做我想要的吗?似乎是的,因为此方法正在弹出 ViewController。
我正在使用“显示详细信息” - 仅转场,除非使用此方法时我创建了自定义转场。
【问题讨论】:
-
“Swift 使用自动引用计数 (ARC) 来跟踪和管理应用程序的内存使用情况。在大多数情况下,这意味着内存管理在 Swift 中“正常工作”,您不需要自己考虑内存管理。当不再需要类实例时,ARC 会自动释放类实例使用的内存。”摘自:Apple Inc. “Swift 编程语言 (Swift 3.0.1)。”苹果公司,2016-10-21T07:00:00Z。电子书。本材料可能受版权保护。在 iBooks Store 上查看这本书:itun.es/us/jEUH0.l
标签: ios iphone swift uiviewcontroller