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

时间:2015-07-30 14:01:25

标签: ios objective-c iphone xcode ipad

我有两个视图控制器 A &amp; B 。在ViewController A 我正在显示来自服务器的数据。我有导航按钮更新转到ViewController B B 我可以更新ViewController B 上显示的数据。现在,当服务器上的数据更新时,我会显示警告'更新单击“确定”后成功“我转到上一个ViewController。但我没有看到更新的数据,因为我从堆栈中删除了ViewController B 但< strong> A 未被重新播放。

返回ViewController A的代码

  [self.navigationController popViewControllerAnimated:YES];

3 个答案:

答案 0 :(得分:13)

我假设您要从viewDidLoad()发送网络电话。因此,要更新您的 viewController A ,请在viewWillAppear()

中添加您的网络通话方法

答案 1 :(得分:3)

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

请记住,-viewDidLoad仅在视图控制器加载发生一次时被调用,但-viewWillAppear在它出现之前被调用,如果你在视图之间来回跳转,这将经常发生。

答案 2 :(得分:2)

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