我有一个故事板项目,我最近改变了。
之前是VC - > VC1 - > VC2并使用此代码在ViewControllers
之间隔离数据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)但是app在运行时崩溃了。
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;
给我警告“不兼容的指针类型初始化'StoreViewController * _strong',表达式为'UIViewController *'
答案 0 :(得分:2)
好的,你的问题就是这一行,因为索引0没有导航控制器,那就是你的StoreViewController:
UINavigationController *navController1 = [tabBarController.viewControllers objectAtIndex:0];
只需将该行更改为:
StoreViewController *scv = [tabBarController.viewControllers objectAtIndex:0];
并删除启动StoreViewController = * svc ....
的行