viewDidLoad会在每次返回第一个视图控制器时发生吗?

时间:2014-09-18 10:16:47

标签: ios objective-c xcode viewdidload navigationcontroller

我正在使用三个视图控制器,第一个名为“menuVC”嵌入navigation controller,然后是“viewVC”和“resultsVC”。我正在从VC使用push segues

现在,我的问题是,每次我从最后一次“resultsVC”返回第一个“menuVC”时,都会调用viewDidLoadviewDidAppear。至于我在任何地方都可以阅读,navigation controller场景push segues永远不会“poprootviewcontroller或任何视图控制器就此而言,当我使用push segues ......?或者有什么我想念的东西?

所以,我的问题是 - 为什么我的第一个视图控制器“MenuVC”每次加载一个新实例,当我实际上只是回到“MenuVC”的同一个实例时?

1 个答案:

答案 0 :(得分:0)

it depends on how to came back to the rootview controller from the last view controller. 
 you  should better use 

 UIViewController *vc=[nav viewControllers].lastObject;

 [vc.navigationController popToRootViewControllerAnimated:FALSE];