gpt4 book ai didi

ios - 如何在将数据传递给 viewController 时实例化 navigationController?

转载 作者:行者123 更新时间:2023-12-01 22:04:31 25 4
gpt4 key购买 nike

所以我有一个 tabBar .单击某个选项卡会将用户带到 viewController嵌入在 navigationController 中.为了拥有navigationController包括,我实例化 viewController使用

myViewController = [storyboard instantiateInitialViewController];

而不是
myViewController = [storyboard instantiateViewControllerWithIdentifier:@"myID"];

后面的代码推送 viewController但没有 navigationController
这很好,直到我想将数据传递给实例 myViewController .问题是,我无法通过引用初始 viewController 的实例传递数据(即 navigationController ),但我可以使用直接引用 myViewController 的实例来做到这一点.换句话说:

这是为了获取数据(但没有 navigationController ):
viewController = [storyboard instantiateViewControllerWithIdentifier:@"experienceID"];
((ExperiencesListViewController*)viewController).experiences = self.experiences;

如果我尝试添加数据,这会崩溃,但会给我一个 navigationBar如果我排除设置数据:
viewController = [storyboard instantiateInitialViewController];
((ExperiencesListViewController*)viewController).experiences = self.experiences;


希望我能很好地解释这一点。如果有什么我需要澄清的,请告诉我。

编辑
我的第一个想法是使用 prepareSegue但在 tabs 之间移动时似乎不会触发.另一个想法是访问 myViewController以某种方式通过实例,但不确定如何。

最佳答案

那是因为最初的 UIViewController该特定 Storyboard 的 UINavigationController .

获得所需 VC 的一种简单方法是获得这样的 UINavigationController通过调用:

navController = [storyboard instantiateInitialViewController];

就像你做的那样,然后:
navController.childViewControllers[0]

这将返回该特定导航 Controller 的第一个 VC(当然,假设它仅包含它所嵌入的 VC),这可能是您的 。 ExperiencesListViewController

关于ios - 如何在将数据传递给 viewController 时实例化 navigationController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59933158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com