我在UIViewController
中嵌入了多个UITabbarController
。这些通过关系段连接。
起点,VC1
首先加载数据,然后将其处理为“详细”视图。每当我更改选项卡并返回到VC1
时,应用程序都会卡住,因为未调用viewDidLoad
。
每次锁定VC1
时都有一种方法来触发功能吗?
应用程序卡住,因为未调用viewDidLoad
应用程序未卡死。运行良好。当视图控制器被创建并加载其视图时,将调用viewDidLoad
。这只会在视图控制器的生命周期中发生一次。当您离开视图控制器并使用back时,它仍然存在(即不是从头开始创建的),因此自然不调用viewDidLoad
。
如果您的目标是要了解选项卡栏控制器正在切换到VC1的事实,请给选项卡栏控制器委派一个代理并实现tabBarController(_:didSelect:)或类似内容。
甚至更好,请进行配置,以便无需执行此操作。如果两个视图控制器都访问共同的数据,请进行架构设计,以使视图控制器将新数据up发送到数据控制器,并且数据控制器将更改down的消息广播到所有视图控制器需要知道这一点。