[英]How to reload the previous view controller on back button?
我有两个视图控制器A和B。在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.