SWRevealViewController 的后续问题

Segue issue with SWRevealViewController

我正在尝试从 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";
    }
}

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