对不起,我的英语不好
我需要将数据从我的First View Controller传递到SWRevealViewController的Front View Controller
在我的First View Controller中,我执行此代码
- (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;
}
}
最佳答案
在storyBord中,不会创建任何对象(视图控制器),直到使用segue呈现它或以其他方式访问它为止,因此在这里的代码中,您将呈现SWRevealViewController,但尝试访问不在内存中的FrontViewController对象。
因此,首先您应该将selected_student传递给SWRevealViewController,然后再从此处传递给FrontViewController,因为在使用segue展示FrontViewController的对象时,您可以从此处访问FrontViewController的对象。这是最简单的方法。