首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xcode Swift ViewDidLoad

Xcode Swift ViewDidLoad
EN

Stack Overflow用户
提问于 2017-10-02 07:46:05
回答 3查看 746关注 0票数 0

我有两个ViewControllers。当我按下FirstViewController上的一个按钮时,SecondViewController就会出现。当我按下SecondViewController上的一个按钮时,FirstViewController再次出现。问题是,FirstViewController上的视图不会再次加载。ViewDidLoad循环不会再次加载。我想要创建一个循环,它在每次FirstViewController出现时检查一个变量。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-10-02 07:47:53

将该代码放入viewDidAppearviewWillAppear中。

票数 0
EN

Stack Overflow用户

发布于 2017-10-02 07:48:42

只有在视图第一次加载时才调用viewDidLoad。听起来,您正在寻找viewDidAppear (或viewWillAppear)方法,每次视图刚刚被(viewDidAppear)或即将出现(viewWillAppear)时都会调用该方法。

所以你可能在寻找这两种方法中的一种。您可能需要查看此页上的图表以获得更多信息。

票数 1
EN

Stack Overflow用户

发布于 2017-10-02 09:28:19

ViewDidLoad方法在向Navgation Stack中添加UIViewController实例时调用。

我以为你已经知道Navigation Stack**.**的

当您从FirstViewController中显示SecondViewController时,意味着您从两种可能的方式中做了一件事

1.用这种方式从Navigation Stack中获取SecondViewControllerViewDidLoad of FirstViewController将永远不会调用,因为FirstViewController已经加载到内存中了。在本例中,ViewDidAppearViewWillAppear将执行。因为每当视图出现在屏幕上时,这些方法都会调用。

2.您在SecondViewController上创建了FirstViewController的另一个实例,并在Navigation Stack上推送FirstViewController的实例。这样,将添加一个新的FirstViewController实例,并自动调用ViewDidLoad。并且将自动创建一个FirstViewController的环。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46521391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档