繁体   English   中英

Xcode Swift ViewDidLoad

[英]Xcode Swift ViewDidLoad

我有两个ViewController。 当我按下FirstViewController上的按钮时,SecondViewController出现。 当我按下SecondViewController上的按钮时,FirstViewController再次出现。 问题是,FirstViewController上的View不会再次加载。 ViewDidLoad循环不会再次加载。 我想创建一个循环,每次FirstViewController出现时都会检查一个变量。

仅在首次加载视图时调用viewDidLoad 听起来好像您在寻找viewDidAppear (或viewWillAppear )方法,该方法在每次视图刚被( viewDidAppear )或即将出现( viewWillAppear )时都会调用。

因此,您可能正在寻找这两种方法。 您可能需要查看此页面上的图以获取更多信息

将该代码放入viewDidAppearviewWillAppear

UIViewController的实例添加到Navgation Stack时,将调用ViewDidLoad方法。

我以为您已经了解Navigation Stack

当您从SecondViewController显示FirstViewController ,这意味着您通过两种可能的方式做了一件事情

1.SecondViewControllerNavigation Stack这样ViewDidLoadFirstViewController永远不会调用因为FirstViewController在内存中已经加载。 在这种情况下,将执行ViewDidAppearViewWillAppear 因为这些方法将始终在视图出现在屏幕上时调用。

2.你创造的另一个实例FirstViewControllerSecondViewControllerFirstViewController上的实例Navigation Stack 这样,将添加新的FirstViewController实例,并自动调用ViewDidLoad 然后将自动创建一个循环的FirstViewControllerSecondViewController

希望您现在了解为什么从未调用过ViewDidLoad方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM