在RelationshipSegue之后调用ViewController中的函数
Posted
技术标签:
【中文标题】在RelationshipSegue之后调用ViewController中的函数【英文标题】:Call function in ViewController after RelationshipSegue 【发布时间】:2020-01-16 18:14:42 【问题描述】:我在UITabbarController
中嵌入了多个UIViewController
。
这些是通过关系序列连接起来的。
起点VC1
最初加载数据,然后处理为“详细”视图。
每当我更改选项卡并返回到VC1
时,应用程序就会卡住,因为没有调用viewDidLoad
。
有没有办法在每次VC1
被连接到时触发一个函数?
【问题讨论】:
使用 viewWillAppear 【参考方案1】:应用程序卡住了,因为没有调用 viewDidLoad
应用程序没有卡住。它运行良好。 viewDidLoad
在视图控制器创建并加载它的视图时被调用。这只会在视图控制器的生命周期中发生一次。当您离开视图控制器并返回到它时,它仍然存在(即它不是从头开始创建的),所以自然不会调用 viewDidLoad
。
如果您的目标是了解标签栏控制器正在切换到 VC1 的事实,请给标签栏控制器一个委托并实现 tabBarController(_:didSelect:) 或类似的。
更好的是,配置一些东西,这样就不需要这样做了。如果两个视图控制器都访问了公共数据,则构建事物以便视图控制器将新数据 up 发送到数据控制器,并且数据控制器会广播有关更改的消息 down em> 给所有需要知道这一点的视图控制器。
【讨论】:
以上是关于在RelationshipSegue之后调用ViewController中的函数的主要内容,如果未能解决你的问题,请参考以下文章