在swift中调用dismissViewController之后如何调用reload table view?

我的问题几乎和这里find的一样: [self dismissModalViewControllerAnimated:YES]之后如何调用viewDidLoad;

我很确定答案正是我所需要的。 我有一个ViewController(我们称之为A)有一个任务列表。 当你点击A中的表格视图中的一个任务时,它会以模态方式调出另一个ViewController(B)。 当我完成B上的任务时,我想通过调用dismissViewController返回到A,但是如何重新加载表?

该表正在从REST API提供数据,所以我不认为只是删除该行将工作。 我将需要调用REST API来获取任务列表,然后重新加载表视图。

在Obj C中我不是很知道,所以我很难翻译这个。 这是我认为需要做的。

为B ViewController委托制作协议。 使ViewController成为BViewController的委托并填写该协议。

我的问题是B ViewController和B ViewController Delegate如何链接? 在B的ViewController有没有办法说这个动作发生了,所以A知道它呢?

有很多方法可以解决这个问题,但最简单的方法可能是在你的tableViewController中重写viewWillAppear ,并将reloadData调用放在那里。

 override func viewWillAppear(animated: Bool) { super.viewWillAppear(animated) tableView.reloadData() } 

viewWillAppear在每次viewController被显示在屏幕上时被调用,所以每当你回到你的tableViewController时,它将被调用并且你的对象将被重载。

你可以尝试的是

 override func viewWillAppear(animated: Bool) { super.viewWillAppear(animated) self.tableView.reloadData() //or whatever your reload data function is }