繁体   English   中英

在加载情节提要之前开始功能

[英]Function starts before Storyboard loads

我的情节提要中有一个主要场景和第二个场景。

应用程序首次启动时,将调用主场景viewDidLoad()函数。 然后,我显示第二个场景。 当我回到第一个场景时,未调用viewDidLoad()

在第二个场景中,我实现了viewDidDisappear()函数,它在场景消失之前更新了数据库。

在主场景中,我使用了viewWillAppear()函数来读取相同的数据库,但是它不起作用。

在第二个场景消失功能之前以某种方式调用了主场景viewWillAppear 应该是另外一种方式吗?

因为当您返回首页时,活动的故事板消失了,而新的故事板出现了。

谁能帮我解决此问题?

首先,仅在加载视图控制器时调用viewDidLoad 当您返回到现有视图控制器实例时,它不会被加载 ,仅显示已加载的视图控制器,因此您所看到的将是预期的。

对于第二个问题,请仔细查看函数名称。

  • viewDidDisappear -视图已经消失是没有暗示后,此功能将被调用
  • viewWillAppear -此功能视图之前将被调用,已作为由意志暗示

您说“它在场景消失之前更新数据库。”,但是通过函数名称,您可以看到它将在视图消失之后更新数据库。

您可以使用函数viewWillDisappear来更新数据库,因为它将在第二个视图控制器消失之前被调用,而viewDidAppear可以第一个视图控制器重新出现之后进行更新。

或者,您可以使用委派模式来允许第二个视图控制器明确告知第一个视图控制器(作为其委托)数据已更改。

暂无
暂无

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

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