Передайте переменную в View Controller, встроенный в Navigation Controller в Objective-C - PullRequest
0 голосов
/ 24 ноября 2018

Я встроил целевой контроллер представления в контроллер навигации и теперь не могу передать ему переменную.

Мой код:

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
//THis is the navigation controller 
    UIViewController *destVC = [storyboard instantiateViewControllerWithIdentifier:@"myNav"];
//This is the view controller embedded in the nav
    IDNowVC* myVC = [storyboard instantiateViewControllerWithIdentifier:@"myVC"];
   myVC.sender = @1;//for contacts

   [self presentViewController:destVC animated:YES completion:nil];

После запуска VC отправительсвойство ноль.Он не получает значение @ 1.

Что мне не хватает?

Спасибо за любые предложения.

1 Ответ

0 голосов
/ 24 ноября 2018

В вашем коде у вас есть комментарий, который говорит:

// Это контроллер представления, встроенный в nav

Однако контроллер представления ниже этого комментария не тот, который встроен в ваш контроллер навигации.Это совершенно новый контроллер, который создается в этой строке и удаляется в конце функции.

Вам нужно что-то похожее на это:

UINavigationController *destVC = (UINavigationController *)[storyboard instantiateViewControllerWithIdentifier:@"myNav"];
IDNowVC* myVC = destVC.childViewControllers[0];
myVC.sender = @1; 

Могут быть некоторые синтаксические проблемы свыше ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...