在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中的函数的主要内容,如果未能解决你的问题,请参考以下文章

如何从Android中的图像数组创建视频?

VIE区块链搜索引擎试图颠覆在线搜索行业

Dojo 回调从未在 iconItem 上调用

text QuêteReact - Cycle de vie

vie项目在ie里打开报内存不足

UIview 在调用视图控制器时没有响应