Swift中的内存使用

Swift中的内存使用,swift,memory,viewcontroller,Swift,Memory,Viewcontroller,我有很多视图控制器。当我在初始ViewController上时,我使用PrepareForsgue将数据推送到第二个ViewController。当我在第二个ViewController上时,我将带有PrepareForegue的日期推到第三个。。。。。当我在最后一个ViewController上时,我想清除孔内存并返回到第一个ViewController。 我的内存有问题:每次转到下一个ViewController时,内存都会增加。如何再次删除此内存 Xcode->显示调试导航器->内存->内

我有很多视图控制器。当我在初始ViewController上时,我使用PrepareForsgue将数据推送到第二个ViewController。当我在第二个ViewController上时,我将带有PrepareForegue的日期推到第三个。。。。。当我在最后一个ViewController上时,我想清除孔内存并返回到第一个ViewController。 我的内存有问题:每次转到下一个ViewController时,内存都会增加。如何再次删除此内存

Xcode->显示调试导航器->内存->内存使用


谢谢大家!

这里没有太多的细节,但我假设您已经将ViewController嵌入到UINavigationViewController中。如果使用-popToRootViewController:animated:,则第二和第三视图控制器的保留计数将减少为0。Swift的垃圾回收将在此后的某个时间转储该内存,尽管它可能不是即时的。

这与您之前的问题不同吗?一旦您将所有其他视图控制器移除到导航堆栈中,内存将自动清理。如Scott Austin所述,使用
popToRootViewController
执行此操作并返回导航堆栈的底部。