我在detailViewController
,当我按下后退按钮时,它会转到mainViewController
。如何在mainViewController
中确定它没有新载,但在detailViewController
中按了后退按钮?
我想在mainViewController
中重新加载一个表格,因此我正在尝试确定它是刚刚加载还是来自detailViewController
。任何帮助将非常感激和投票。谢谢。
答案 0 :(得分:2)
覆盖mainViewController中的viewWillAppear()函数,以便在加载之前执行任务。
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated: animated)
//do tasks when coming from detailViewController
}
编辑:
如果您不希望viewWillAppear中的代码在重新加载时进行ecexute,还有另一种方法,但我不知道这是否是最好的做法。在后退按钮处理程序中执行以下操作:
//pop the detailViewController
self.navigationController.popViewControllerAnimated(true)
//mainViewController is now at the top
//safely unpack it
if let parentVC = self.navigationController.topViewController as? mainViewController {
//call a custom function in mainViewController which will
//execute only the stuff you want upon back button press
parentVC.customFunction()
}