繁体   English   中英

如何在后退按钮上重新加载以前的视图控制器?

[英]How to reload the previous view controller on back button?

我有两个视图控制器AB。ViewController A上,我正在显示服务器中的数据。我有导航按钮Update转到ViewController B.B上,我可以更新ViewController B上显示的数据。现在,当更新数据时服务器上单击“确定”后 ,我显示警报“更新成功” 。我转到以前的ViewController 。但是我看不到更新的数据,因为我从堆栈中删除了ViewController B ,但A没有被移除。

返回ViewController A的代码

  [self.navigationController popViewControllerAnimated:YES];

我假设您正在从viewDidLoad()发送网络呼叫。 因此,为了更新viewController A,viewWillAppear()添加了Web调用方法

视图控制器A上“数据”的状态尚未更改,您需要刷新它。 如果要在-viewDidLoad获取视图控制器A的数据,请尝试将其移至其他生命周期方法,例如-viewWillAppear

请记住, -viewDidLoad仅在视图控制器加载时被调用,这只发生一次,但是-viewWillAppear在它出现之前被调用,如果您在视图之间来回跳动,则通常会发生。

您必须在viewWillAppear()调用您的API方法。 因此,无论何时从任何viewController回来,更新后的服务器数据都会重新加载。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM