我使用这行代码在我的iOS应用程序如何刷新前一个页面当SEGUE回
self.navigationController?.popToRootViewControllerAnimated(false)
这需要用户回到登录页面,但它并不适用于所有最近重装登陆数据。
它不会再次运行此代码:
override func viewDidLoad() {
super.viewDidLoad()
...
}
如何让SEGUE再次引起viewDidLoad中?
我使用这行代码在我的iOS应用程序如何刷新前一个页面当SEGUE回
self.navigationController?.popToRootViewControllerAnimated(false)
这需要用户回到登录页面,但它并不适用于所有最近重装登陆数据。
它不会再次运行此代码:
override func viewDidLoad() {
super.viewDidLoad()
...
}
如何让SEGUE再次引起viewDidLoad中?
使用viewWillAppear
方法。
是将用于重新加载的代码移动到viewWillAppear而不是viewDidLoad中 –
您正在发送从viewDidLoad()
的网络电话。所以要更新您的viewController,请在viewWillAppear()
中添加您的Web请求方法。
注意:viewDidLoad
只有当视图控制器加载一次才会被调用。然而,viewWillAppear
在出现之前会被调用,如果您在视图之间来回跳动,那么经常会发生这种情况。
它不应该再次运行“ViewDidLoad”,视图已经加载。但是它会像下面的Dharmesh所说的那样运行ViewWillAppear,你需要重新配置来处理这样的事件。这是视图控制器的正确流程 – Loxx