【发布时间】:2017-10-05 03:04:40
【问题描述】:
当用户打开应用程序 (VC1) 时,我使用了一个通用视图。使用标签栏控制器,我加载了另一个视图 (VC2),可用于更新前一个视图中可见的数据。当我返回 VC1(堆栈)时,它不会重新加载更新的数据。
我曾尝试像这样在 viewWillAppear 中调用 viewDidLoad...
override func viewWillAppear(_ animated: Bool) {
viewDidLoad()
}
它可以工作,但它仍然在堆栈上加载 VC1,并且用户可以看到更改(不好)。
我认为关闭 VC1 会有所帮助,但我还没有找到在使用标签栏控制器时如何关闭视图。
【问题讨论】:
-
永远不要自己调用
viewDidLoad或任何其他视图控制器生命周期方法。 -
您应该创建一个函数来刷新数据并从 viewWillAppear 调用它
-
创建一个加载数据的函数,并在 viewWillAppear 和 ViewDidLoad 中调用它。或者请提供更多信息,以便我提供更多帮助。
标签: ios swift uiviewcontroller uitabbarcontroller loadview