ios - 在swift 5中关闭视图控制器时如何重新加载tableview
问题描述
1
我已经搜索了这个网站和网络,只是寻找一个简单的例子来说明如何从详细视图重新加载根视图控制器的表视图。我试过通知,在detailview控制器中设置一个tableview等于rootview控制器的tableview......没有任何效果。
解决方案
您可以使用关闭回调或通知中心
通过通知中心:
在 DetailsViewController
func clickButtonToReloadData(){
NotificationCenter.default.post(name: Notification.Name("ReloadDataOfTableView"), object: nil, userInfo: [:])
}
在 RootViewController 中:
override func viewDidLoad() {
super.viewDidLoad()
NotificationCenter.default.addObserver(self, selector: #selector(reloadDataOfTableView), name: "ReloadDataOfTableView", object: nil)
}
@objc func reloadDataOfTableView(notification : NSNotification){
self.tableView.reloadData()
}
override func viewWillDisappear(_ animated: Bool) {
NotificationCenter.default.removeObserver(self, name: "ReloadDataOfTableView", object: nil)
}