两个星期前,我从Swift和iOS开始了自己的旅程。我的记忆有问题。最初,登录后,我的应用程序占用30 mb。然后,用户可以从菜单中选择四个窗口。我使用以下代码在它们之间切换:
let controller = UIStoryboard(name:"Main", bundle:nil).instantiateViewControllerWithIdentifier(content[indexPath.row]) as! UINavigationController
self.presentViewController(controller, animated: true, completion: nil)
每当我从菜单中选择另一个选项并出现新窗口时,应用程序就会消耗另外1 mb的内存。经过几次更改后,应用程序消耗了90 mb(已在xcode工具中检查)。我确定这段代码有问题。我应该以某种方式关闭旧窗口吗?
通过使用“ presentViewController”,您只是在模态中向堆栈中添加了更多视图,如果要在这4个视图之间切换,则TabBarController应该是要使用的组件。
另一方面,如果您只想更改初始视图控制器以在这些视图之间交换,则应通过将以下内容添加到AppDelegate来更改根视图控制器
func setRootViewController(viewController: UIViewController) {
self.window?.rootViewController = viewController
}
并在需要时使用以下内容在控制器之间交换
let appDelegate = UIApplication.sharedApplication().delegate as? AppDelegate
appDelegate?.setRootViewController(otherViewController)
希望能帮助到你 :)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句