[英]Xcode Swift ViewDidLoad
我有两个ViewController。 当我按下FirstViewController上的按钮时,SecondViewController出现。 当我按下SecondViewController上的按钮时,FirstViewController再次出现。 问题是,FirstViewController上的View不会再次加载。 ViewDidLoad循环不会再次加载。 我想创建一个循环,每次FirstViewController出现时都会检查一个变量。
仅在首次加载视图时调用viewDidLoad
。 听起来好像您在寻找viewDidAppear
(或viewWillAppear
)方法,该方法在每次视图刚被( viewDidAppear
)或即将出现( viewWillAppear
)时都会调用。
因此,您可能正在寻找这两种方法。 您可能需要查看此页面上的图以获取更多信息
将该代码放入viewDidAppear
或viewWillAppear
。
将UIViewController
的实例添加到Navgation Stack
时,将调用ViewDidLoad方法。
我以为您已经了解Navigation Stack
。
当您从SecondViewController
显示FirstViewController
,这意味着您通过两种可能的方式做了一件事情
1.您SecondViewController
从Navigation Stack
这样ViewDidLoad
的FirstViewController
永远不会调用因为FirstViewController
在内存中已经加载。 在这种情况下,将执行ViewDidAppear
和ViewWillAppear
。 因为这些方法将始终在视图出现在屏幕上时调用。
2.你创造的另一个实例FirstViewController
上SecondViewController
推FirstViewController
上的实例Navigation Stack
。 这样,将添加新的FirstViewController
实例,并自动调用ViewDidLoad
。 然后将自动创建一个循环的FirstViewController
和SecondViewController
。
希望您现在了解为什么从未调用过ViewDidLoad
方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.