不要在选项卡切换的导航中重新加载顶部视图中的内容

问题描述

我在一个视图(比如 VC1)上,它位于导航堆栈的顶部。我单击另一个选项卡并返回此视图,VC1 中的内容重新加载。在这种情况下如何停止重新加载内容,因为重新加载没有任何意义,因为视图已经加载了内容

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(true)
    loadContent()    
}

解决方法

您无法阻止 viewWillAppear 被 2 个相同的操作调用,例如切换选项卡或弹出覆盖 vc ,因此您需要删除 viewWillAppear 并为需要重新加载的 vc 分配一个委托在弹出调用 loadContent

之后