gpt4 book ai didi

ios - 从 VC 到 TabBar 到 VC (iOS) 的 Segue 数据

转载 作者:行者123 更新时间:2023-11-28 22:37:42 24 4
gpt4 key购买 nike

我最近更改了一个 Storyboard项目。

在它是 VC -> VC1 -> VC2 之前,使用此代码在 ViewController 之间分离数据

if([segue.identified isEqualToString:@"SegueData"]){
StoreViewController *svc = [segue destinationViewController];
NSIndexPath *path = [allStoresTable indexPathForSelectedRow];
Stores *s = [stores objectAtIndex:path.row];
[svc setCurrentStores:s];
}

现在我需要从 VC -> TabBar -> VC1, VC2 传递数据

我现在该怎么做?

我从这里尝试了这段代码,它与我的问题 (http://www.raywenderlich.com/forums/viewtopic.php?f=2&t=2884) 类似,但应用程序在运行时崩溃了。

UITabBarController *tabBarController = segue.destinationController;

UINavigationController *navController1 = [tabBarController.viewControllers objectAtIndex:0];
StoreViewController *svc= navController1.topViewController;
NSIndexPath *path = [allStoresTable indexPathForSelectedRow];
Stores *s = [stores objectAtIndex:path.row];
[svc setCurrentStores:s];

这条线也是导致崩溃的原因

StoreViewController *svc= navController1.topViewController;

给我警告“不兼容的指针类型正在使用类型为‘UIViewController*’的表达式初始化‘StoreViewController * _strong’”

最佳答案

好的,你的问题是行,因为在索引 0 处没有导航 Controller ,那是你的 StoreViewController 所在的位置:

UINavigationController *navController1 = [tabBarController.viewControllers objectAtIndex:0];

只需将该行更改为:

StoreViewController *scv = [tabBarController.viewControllers objectAtIndex:0];

并删除以 StoreViewController = *svc .... 开头的行。

关于ios - 从 VC 到 TabBar 到 VC (iOS) 的 Segue 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15454119/

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