SWRevealViewController 的 Segue 问题
Posted
技术标签:
【中文标题】SWRevealViewController 的 Segue 问题【英文标题】:Segue issue with SWRevealViewController 【发布时间】:2015-01-03 19:20:11 【问题描述】:我正在尝试从SWRevealViewController
的侧菜单页面中分离并将数据传输到另一个视图控制器。它崩溃了,我遇到了这个问题`-[UINavigationController setStr1:]: unrecognized selector sent to instance 0x7f8c92224c80 '
当我使用Reveal View Controller Push Controller
方法推送到另一个视图控制器时。
另一方面,在其他视图控制器中,我使用的是SHOW
而不是SWRevealViewControllerSeguePushController
,它工作正常,不会崩溃。我正在使用故事板。
请问我的问题在哪里?
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
if ([segue.identifier isEqualToString:@"TESTTEST"])
ViewController *destViewController = segue.destinationViewController;
destViewController.str1 = @"data pass";
【问题讨论】:
这可能是因为您设置了ViewController
的str1
属性,而不是您应该使用CustomViewController *destViewController
【参考方案1】:
错误表明 segue 目标视图控制器是导航控制器(因此不响应 setStr1 选择器)。所以看起来你的ViewController
嵌入在故事板的导航控制器中。如果是这样,请按如下方式更改您的代码:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
if ([segue.identifier isEqualToString:@"TESTTEST"])
UINavigationController *navigationController = segue.destinationViewController;
ViewController *destViewController = navigationController.topViewController;
destViewController.str1 = @"data pass";
【讨论】:
以上是关于SWRevealViewController 的 Segue 问题的主要内容,如果未能解决你的问题,请参考以下文章
SWRevealViewController 的 Segue 问题
SWRevealViewController - 推送下一个视图控制器故事板