2017-11-21 17 views
0

私はdetailViewControllerで、戻るボタンを押すとmainViewControllerに行きます。 mainViewControllerで、新しく読み込まれなかったが、戻るボタンがdetailViewControllerで押されたことは、どのようにして判断できますか?ナビゲーションコントローラーの他のページの後にビューコントローラーが表示されたかどうかを確認する方法

mainViewControllerにリロードしたいテーブルがありますので、新しく読み込まれたのか、detailViewControllerから来ているのかを判断しようとしています。どんな助力も大いに評価され、投票されました。ありがとうございました。

答えて

2

mainViewControllerのviewWillAppear()関数をオーバーライドして、タスクをロードする前に実行します。

override func viewWillAppear(animated: Bool) { 
    super.viewWillAppear(animated: animated) 

    //do tasks when coming from detailViewController 
} 

EDIT:

あなたは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() 
} 
関連する問題