gpt4 book ai didi

ios - 单击时从一个标签栏移动到另一个标签栏(带有导航 Controller 的标签栏)

转载 作者:行者123 更新时间:2023-12-01 18:05:47 24 4
gpt4 key购买 nike

大家好,我想从第一个 tabbarcontroller 转到第二个 tabbarcontroller,但不能这样做。我的 TabBar 中的 View Controller 也嵌入了 NavigationControllers ,因此当我尝试切换选项卡时,它给了我错误提示:

Could not cast value of type 'UINavigationController' (0x1048d5898) to 'abc.CategoriesController' (0x101088d88).



我使用的代码-:
 let barViewControllers = self.tabBarController?.viewController
let svc = barViewControllers![1] as! myController
svc.myOrder = self.myOrder

我尝试了很多解决方案,但没有找到任何人可以帮助我吗?如果有人可以,请解释一下这背后的概念?
self.tabBarController.selectedIndex = 1确实有效,但我不能用这种方法传递数据。

麦迪 说过-:

使用 let barViewControllers = self.tabBarController?.viewController[1] as? myController传递数据。

但这是让我超越崩溃的那条线

最佳答案

你得到的错误表明你从下面的代码中得到的不是viewController,如果你

let barViewControllers = self.tabBarController?.viewController //some what wrong with this

访问所有 View Controller 的最佳方法如下
var svc = self.tabBarController.viewControllers

如果你想通过它们的索引来访问 viewControllers 然后低于一个
var svc = self.tabBarController.viewControllers[1] as yourVC

如果您想从标签栏访问导航 Controller ,最后但不在列表中
var svc = self.tabBarController.viewControllers[1] as UINavigationController

希望这对你有帮助:)

关于ios - 单击时从一个标签栏移动到另一个标签栏(带有导航 Controller 的标签栏),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45171563/

24 4 0