0

对不起,我的英语不好

我需要将数据从我的第一个视图控制器传递到 SWRevealViewController 的前视图控制器

在我的第一个视图控制器中,我执行此代码

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"menu"]) {
        SWRevealViewController *sw = (SWRevealViewController *) segue.destinationViewController;

        // error is here i get nav with nil
        UINavigationController *nav = (UINavigationController *)sw.frontViewController;
        FrontViewController *home = (FrontViewController *) nav.topViewController;
        home.passed_student = selected_student;



}
}

在此处输入图像描述

4

1 回答 1

2

在 storyBord 中,在使用 segue 呈现或以其他方式访问之前,不会创建对象(视图控制器),因此在您的代码中,您正在呈现 SWRevealViewController 但尝试访问不在内存中的 FrontViewController 对象。

所以首先你应该将你的 selected_student 传递给你的 SWRevealViewController,然后从这里传递给 FrontViewController,因为你可以在使用 segue 呈现它的过程中从这里访问 FrontViewController 的对象。这是最简单的方法。

于 2014-09-23T07:51:27.827 回答