使用SWRevealViewController解决问题

时间:2015-01-03 19:20:12

标签: ios objective-c storyboard

我试图从SWRevealViewController的侧边菜单页面中删除并将数据传输到另一个视图控制器。它崩溃了,我得到了这个问题` - [UINavigationController setStr1:]:无法识别的选择器被发送到实例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";
    }
}

1 个答案:

答案 0 :(得分:0)

错误表示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";
    }
}