所以我有一个显示一些数据量的视图控制器。当用户点击按钮时,他们将被带到UITableViewController
。然后,我有一个" barbuttonitem"使用
[self dismissViewControllerAnimated:YES completion:nil]
使用数据返回上一个视图控制器。问题是,当我通过viewDidLoad
中声明的方法返回时,前一个控制器上的数据应该会改变。但是,数据保持不变。知道为什么会这样吗?
例如:如果文字标签显示" 3通知",则用户点击该按钮转到UITableViewController
,然后点击后退按钮,应该说0个通知。
答案 0 :(得分:0)
您必须在viewWillAppear中实现您的逻辑。当你按下一个newViewController时,oldViewController仍在内存中但不在屏幕上,当返回时会调用viewWillAppear(后退按钮)
-(void)viewWillAppear:(BOOL)animated{
[self.tableView reloadData];
}
答案 1 :(得分:0)
你应该使用
- (void)viewDidAppear:(BOOL)animated
而不是
- (void)viewDidLoad
第一次加载视图控制器时,会调用viewDidLoad 一次。每次在层次结构中显示视图时,都会调用 viewDidAppear 。