ios - 选择时如何重新加载标签栏项目?

标签 ios swift uitabbarcontroller

我正在使用带有 2 个选项卡栏项和一个全局变量的 TabBarController。我的想法是选项卡 1 更改了全局变量的值,而选项卡 2 显示它已更新。

我的问题是选项卡 2 在修改后永远不会使用全局变量的新值重新加载/更新。

我已经阅读了一些问题完全相同的问题,它们指向 didSelectViewController 但在我的 UITabBarController 中似乎从未调用过此方法(是的,它在 Storyboard中分配并扩展了 UITabBarControllerDelegate;事实上,didSelectItem 确实有效) .

请问有什么帮助吗?

提前致谢!

最佳答案

您应该关注每个选项卡的 UIViewControllers,而不是选项卡 Controller 本身。

在第一个选项卡的 UIViewController 子类中,您可以修改全局变量。

在第二个选项卡的 UIViewController 子类中,您访问这个全局变量。您可以覆盖方法 viewWillAppear(animated: Bool) 以了解何时更新变量。

您还可以使用协议(protocol)和委托(delegate)来仅在值发生变化时更新它。

关于ios - 选择时如何重新加载标签栏项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33152886/

相关文章:

swift - 在特定索引处插入 UITabBarItem

ios - 如何从根 Controller ios 应用程序显示 View

ios - 将私有(private) pod 添加到 podfile 作为依赖项

ios - UIview 在调用 View Controller 时没有响应

swift - 无法获取帐户信息解析和 FB SDK

swift - 如何在 Swift 中创建打包数据结构?

ios - 通过 Storyboard的 UITabBar 图像

ios - Swift 中带有 Unwind Segue 的 UITabBarController 不工作

ios - 即使在用户交互之后,iOS Safari 上的 Web 音频 API 也不会播放

ios - PubNub 长轮询与套接字 - 移动电池生命周期