我有两个视图控制器 A & B 。在ViewController
A 我正在显示来自服务器的数据。我有导航按钮更新转到ViewController
B 。 B 我可以更新ViewController
B 上显示的数据。现在,当服务器上的数据更新时,我会显示警告'更新单击“确定”后成功“我转到上一个ViewController
。但我没有看到更新的数据,因为我从堆栈中删除了ViewController
B 但< strong> A 未被重新播放。
返回ViewController A的代码
[self.navigationController popViewControllerAnimated:YES];
答案 0 :(得分:13)
我假设您要从viewDidLoad()
发送网络电话。因此,要更新您的 viewController A ,请在viewWillAppear()
答案 1 :(得分:3)
视图控制器A上的“数据”状态未更改,您需要刷新它。如果您要在-viewDidLoad
内为视图控制器A提取数据,请尝试将其移至其他生命周期方法,例如-viewWillAppear
。
请记住,-viewDidLoad
仅在视图控制器加载发生一次时被调用,但-viewWillAppear
在它出现之前被调用,如果你在视图之间来回跳转,这将经常发生。
答案 2 :(得分:2)
您必须在viewWillAppear()
中调用您的API方法。因此,无论何时从任何viewController回来,更新后的服务器数据都会重新加载。