0

извините за мой плохой английскийпередачи данных от FirstViewController к FrontViewController из SWRevealViewController

мне нужно передать данные из моего первого View Controller в Front View Controller в SWRevealViewController

в мой первый 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; 



} 
} 

enter image description here

+1

UINavigationController * nav = (UINavigationController *) sw.frontViewController; здесь ваш frontViewController является свойством SWRevealViewController? – iHulk

+0

Да, его отличие от Class Called FronViewController –

+1

Я думаю, что ваша собственность frontViewController используется до того, как она инициализируется как UINavigationController внутри SWRevealViewController. – iHulk

ответ

2

В storyBord нет объекта (вид контроллера) является CRE до тех пор, пока он не будет представлен с помощью segue или не будет доступ к каким-либо другим способом, поэтому здесь, в вашем коде, вы представляете SWRevealViewController, но пытаетесь получить доступ к объекту FrontViewController, который отсутствует в памяти.

Итак, сначала вы должны передать свой выбранный_студент в ваш SWRevealViewController, а затем отсюда до FrontViewController, потому что вы можете получить доступ к объекту FrontViewController отсюда во время его представления с помощью segue. Это самый простой способ сделать это.

+0

Я новичок в ios, так как я могу это сделать –

+1

Прямо сейчас вы представляете объект SWRevealViewController из вашего FirstViewConroller и хотите передать данные selected_student на один шаг вперед в FrontViewController. Для этого вам понадобится объект FrontViewController, доступ к которому можно получить здесь, указав идентификатор этого FrontViewController внутри вашего storyBoard, а затем получите доступ к нему здесь, используя этот идентификатор. Я дам вам код за несколько минут. – iHulk

+1

Я обновил ответ. Если он все еще не работает, пожалуйста, дайте мне знать. – iHulk