我想从一个视图控制器转换到另一个视图控制器但没有任何动画。在故事板上,我选择了Push segue,在右侧面板上,取消选中“Animate”选项。然后在代码中,每当我想要进行转换时,我做了: self.performSegueWithIdentifier(“TestSegue”,sender:nil)
现在的问题是以前的视图控制器没有被释放,内存不断增加。
问题:
1)我使用没有动画的segues的方法是否正确?
2)如何在执行segue后从内存中取消分配视图控制器?
请帮助我解决这些问题。
注意:我使用的是Swift
答案 0 :(得分:2)
我认为这对您执行另一个ViewController的方式存在问题。我认为你在第二个ViewController上有一个很强的参考,你正在执行一个segue,它不会让ARC取消分配ViewController。
发布整个代码,以便我可以更好地分析可能出错的内容。
答案 1 :(得分:0)
如果您在推送之外使用某种类型的segue,则会自动取消分配先前的视图控制器。尝试像这样呈现视图控制器:
let vc = self.storyboard?.instantiateViewControllerWithIdentifier("myVC") as! MyVCName
self.presentViewController(vc, animated: false, completion: nil)