抱歉我的英文不好
我需要将数据从我的第一视图控制器传递到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;
}
}
答案 0 :(得分:2)
在storyBord中没有对象(视图控制器)被创建,直到它使用segue呈现或以其他方式访问,所以在你的代码中你呈现SWRevealViewController但是尝试访问不在内存中的FrontViewController对象。
首先,你应该将你的selected_student传递给你的SWRevealViewController,然后从这里传递给FrontViewController,因为你可以在使用segue呈现它时从这里访问FrontViewController的对象。这是最简单的方法。