我的问题几乎与此处的问题相同:How to call viewDidLoad after [self dismissModalViewControllerAnimated:YES];
我很确定答案正是我所需要的。我有一个ViewController(我们称之为A)有一个任务列表。当您单击A中表视图中的任务时,它会以模态方式显示另一个ViewController(B)。当我完成B上的任务时,我想通过调用dismissViewController返回A,但是如何重新加载表?
该表正在从REST API提供数据,因此我不认为只删除该行将起作用。我将需要调用REST API来获取任务列表,然后重新加载表视图。
我在Obj C中不是很了解,所以我在翻译时遇到了麻烦。 这是我认为需要做的事情。
为B ViewController委托制作协议。 使ViewController成为BViewController的委托并填写该协议。
我的问题是B ViewController和B ViewController委托如何链接?在B ViewController中有没有办法说这个动作发生了,所以A知道它做了什么?
答案 0 :(得分:2)
您可以尝试的是
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.tableView.reloadData() //or whatever your reload data function is
}
答案 1 :(得分:2)
许多方法可以解决这个问题,但最简单的方法可能是覆盖tableViewController中的viewWillAppear
并将reloadData
调用放在那里。
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
tableView.reloadData()
}
每次在屏幕上显示viewController时都会调用 viewWillAppear
,所以每当你回到tableViewController时,它都会被调用,你的对象将被重新加载。