0

UINavigationController在我的应用程序中使用 a 。我正在尽力管理内存分配。如果没有强引用,我所有的视图都确实有一个在执行ordeinit时调用/打印的方法。unWindSeguenavigationController.popViewController()

使用时performSegueWithIdentifer,从不调用/使用override func prepare(for segue: UIStoryboardSegue, sender: Any?)deinit方法。我认为这是由于我正在过渡到的视图不在内存中。

执行segue时是否可以有条件语句?加载我的应用程序后,它就HomeView在内存中。而且我还可以放松到它允许释放当前视图。

我有几个观点,我希望尽可能地管理内存。是否可以peformSegueWithIdentifier通过使用条件语句一次且始终展开到视图,一旦它在内存中?

伪代码:

if navigationController.hasViewInMemory() {
   peformUnWindSegue()
} else {
   peformSegueWithIdentifier()
}

还是有另一种方法可以解决这个问题,无论视图是否在内存中,都可以在执行 segue 时释放内存?我的应用程序基于时间和最新信息,我最不想做的就是返回旧/冗余数据。

我对内存管理相当陌生,所以如果这个问题看起来有点白痴,我深表歉意。

4

0 回答 0