在关系Segue之后调用视图控制器中的函数



我在UITabbarController中嵌入了多个UIViewController。 这些通过关系 Segue 连接。

起点VC1最初加载数据,然后处理为"详细信息"视图。 每当我更改选项卡并返回VC1时,应用程序都会卡住,因为没有调用viewDidLoad

有没有办法在每次VC1被触发时触发一个函数?

应用程序卡住,因为不调用 viewDidLoad

应用程序未卡住。它正在完美地工作。 创建视图控制器并加载其视图时调用viewDidLoad。这在视图控制器的生命周期中只发生一次。当您离开视图控制器并返回它时,它仍然存在(即它不是从头开始创建的(,因此自然不会调用viewDidLoad

如果您的目标是了解选项卡栏控制器正在切换到 VC1 的事实,请为选项卡栏控制器提供一个委托并实现 tabBarController(_:didSelect:( 或类似内容。

更好的是,配置内容,以便无需执行此操作。如果两个视图控制器都访问了公共数据,则构建事物,以便视图控制器将新数据发送到数据控制器,数据控制器将更改新闻广播给需要知道这一点的所有视图控制器。

最新更新