我使用此代码重新加载导航控制器的根视图控制器。
if let newVC = self?.storyboard?.instantiateViewController(withIdentifier: "MyViewController"), let nc = self?.navigationController {
nc.setViewControllers([newVC], animated: true)
}
但我发现此代码存在内存泄漏:使用此代码未释放内存。
如何抓住并解决这个问题?有什么建议吗?
答案 0 :(得分:0)
设置新视图控制器时,堆栈的全部内容将被新的viewControllers替换。所有viewControllers都会弹出。
您可以通过编写被替换的所有viewControllers的deinit方法来检查这一点。替换viewControllers时会调用所有deinit方法。它会自动释放内存,您不必显式处理内存或释放内存。