返回时刷新视图控制器

时间:2014-05-15 21:41:20

标签: ios objective-c

所以我有一个显示一些数据量的视图控制器。当用户点击按钮时,他们将被带到UITableViewController。然后,我有一个" barbuttonitem"使用
[self dismissViewControllerAnimated:YES completion:nil]使用数据返回上一个视图控制器。问题是,当我通过viewDidLoad中声明的方法返回时,前一个控制器上的数据应该会改变。但是,数据保持不变。知道为什么会这样吗?

例如:如果文字标签显示" 3通知",则用户点击该按钮转到UITableViewController,然后点击后退按钮,应该说0个通知。

2 个答案:

答案 0 :(得分:0)

您必须在viewWillAppear中实现您的逻辑。当你按下一个newViewController时,oldViewController仍在内存中但不在屏幕上,当返回时会调用viewWillAppear(后退按钮)

-(void)viewWillAppear:(BOOL)animated{

    [self.tableView reloadData];
}

答案 1 :(得分:0)

你应该使用

- (void)viewDidAppear:(BOOL)animated

而不是

- (void)viewDidLoad
第一次加载视图控制器时,会调用

viewDidLoad 一次。每次在层次结构中显示视图时,都会调用 viewDidAppear