0

私の悪い英語でごめんなさい

First View Controller から SWRevealViewController の Front View Controller にデータを渡す必要があります

私の最初の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;



}
}

ここに画像の説明を入力

4

1 に答える 1

2

storyBord では、セグエを使用して表示されるか、他の方法でアクセスされるまで、オブジェクト (ビュー コントローラー) は作成されないため、コードでは SWRevealViewController を表示していますが、メモリにない FrontViewController のオブジェクトにアクセスしようとしています。

したがって、最初に selected_student を SWRevealViewController に渡し、次にここから FrontViewController に渡す必要があります。これは、セグエを使用して表示中にここから FrontViewController のオブジェクトにアクセスできるためです。これが最も簡単な方法です。

于 2014-09-23T07:51:27.827 に答える