当我关闭一个模态视图控制器时,我希望tableview更新,我在iPad上使用表单表单呈现样式,所以viewWillAppear
和viewDidAppear
方法将不起作用
当我关闭一个模态视图控制器时,我希望tableview更新,我在iPad上使用表单表单呈现样式,所以viewWillAppear
和viewDidAppear
方法将不起作用
我觉得segue方法更优雅.
假设我们有ViewControllerA
和ViewControllerB
.我们在ViewControllerB
,我们希望从ViewControllerB
直接跳回到ViewControllerA
,并在ViewControllerA
中更新表视图.
在ViewControllerA
中,在ViewController类中添加以下操作:
@IBAction func unwindToViewControllerA(segue: UIStoryboardSegue) {
DispatchQueue.global(qos: .userInitiated).async {
DispatchQueue.main.async {
self.tableView.reloadData()
}
}
}
Yes, this code goes in the ViewController of the ViewController you want to go back to!
现在,您需要从ViewControllerB
的故事板(StoryboardB
)中创建一个退出序列.继续,打开StoryboardB
, Select 故事板.按住CTRL键并拖动以退出,如下所示:
您将获得一个可供 Select 的序列列表,包括我们刚刚创建的序列:
你现在应该有一个segue,点击它:
进入inspector并设置一个唯一的id:
在ViewControllerB
中,在您想要退出并返回ViewControllerA
的位置,执行以下操作(使用我们之前在inspector中设置的id):
self.performSegue(withIdentifier: "yourIdHere", sender: self)
现在,无论何时使用segue返回到ViewControllerA
,ViewControllerA
都会立即更新TableView.