Ios 为什么弹出到根视图控制器有时会导致调用viewDidLoad?
我有一个基于导航的应用程序,在子视图中有一个按钮,点击该按钮会调用popToRootViewController方法Ios 为什么弹出到根视图控制器有时会导致调用viewDidLoad?,ios,Ios,我有一个基于导航的应用程序,在子视图中有一个按钮,点击该按钮会调用popToRootViewController方法 -(IBAction)popToRootViewController { [self.navigationController popToRootViewControllerAnimated:YES]; } 这将导致调用rootViewController的viewWillAspect方法,大多数情况下都会发生这种情况。但是,有时会调用rootViewControlle
-(IBAction)popToRootViewController
{
[self.navigationController popToRootViewControllerAnimated:YES];
}
这将导致调用rootViewController的viewWillAspect方法,大多数情况下都会发生这种情况。但是,有时会调用rootViewController的viewDidLoad。我找不到背后的原因。有人知道为什么有时会调用viewDidLoad吗?在iOS 5及更早版本上,当内存不足时,系统可能会卸载视图:
第一次加载视图控制器的视图时,会调用一次viewDidLoad 视图将出现第一次加载视图控制器的视图时,将在viewDidLoad方法后调用
现在,当您在navigationController中推送或弹出控制器时,肯定会调用可见控制器的viewWillApper方法。
viewDidLoad
,顾名思义,就是在视图控制器加载其视图之后调用的。如果视图控制器不再是最前面的控制器,它可能会释放其视图以节省内存(它曾调用viewWillUnload
和viewDidUnload
,这在iOS 6中已被弃用)。如果发生这种情况,当它再次出现在前端时(或每当有人调用控制器视图时),它将重新创建视图(如果不是基于Nib的,它将调用加载视图),然后调用视图加载