总而言之,管理VC的效果如何?
就我而言,我的游戏中有3个VC。要在它们之间切换,请使用当前VC中的按钮来激活以下代码:
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier:"firstLevel")
self.present(viewController, animated: false, completion: nil)
此代码有效,但是每次实例化一个新的VC时,如果有相同VC和Im的两个副本,这会在我的游戏中引起全局变量(例如“ Score”)的问题,并假定这确实对内存不利。 / p>
此问题的最佳解决方案是什么?
我应该在实例化下一个VC之后通过放置以下代码来关闭当前的viewController吗?
self.dismissViewControllerAnimated(false, completion: nil)
答案 0 :(得分:1)
通过替换rootViewController
let viewController = storyboard!.instantiateViewController(withIdentifier:"firstLevel")
(UIApplication.shared.delegate as! AppDelegate).window!.rootViewController = viewController
当您当前的代码将旧的vc留在堆栈中时,肯定会导致内存问题