我UINavigationController
在我的应用程序中使用 a 。我正在尽力管理内存分配。如果没有强引用,我所有的视图都确实有一个在执行ordeinit
时调用/打印的方法。unWindSegue
navigationController.popViewController()
使用时performSegueWithIdentifer
,从不调用/使用override func prepare(for segue: UIStoryboardSegue, sender: Any?)
该deinit
方法。我认为这是由于我正在过渡到的视图不在内存中。
执行segue时是否可以有条件语句?加载我的应用程序后,它就HomeView
在内存中。而且我还可以放松到它允许释放当前视图。
我有几个观点,我希望尽可能地管理内存。是否可以peformSegueWithIdentifier
通过使用条件语句一次且始终展开到视图,一旦它在内存中?
伪代码:
if navigationController.hasViewInMemory() {
peformUnWindSegue()
} else {
peformSegueWithIdentifier()
}
还是有另一种方法可以解决这个问题,无论视图是否在内存中,都可以在执行 segue 时释放内存?我的应用程序基于时间和最新信息,我最不想做的就是返回旧/冗余数据。
我对内存管理相当陌生,所以如果这个问题看起来有点白痴,我深表歉意。