iOS: ContainerView - Внешний вызов prepareForSegue в childController

В следующей настройке Button 1 звонки First VC а также Button 2 звонки Second VC

В настоящее время я использую следующий код для вызова SecondVC нажав Button 2,

MainVC.m

@implementation MainVC()
....

UINavigationController *navController = [self.childViewControllers objectAtIndex:0];
SecondVC *secondVC = [self.storyboard instantiateViewControllerWithIdentifier:@"second"];
[navController pushViewController:secondVC animated:YES];

Код выше отображает SecondVC просто хорошо. Однако в First VC Есть операторы, которые должны быть выполнены до того, как "Second VC" будет представлен, которые пропускаются!

Я выполняю эти заявления в First VC внутри -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender, Когда Next Кнопка нажата в First VC, все операторы выполняются, потому что это вызывает prepareForSegue перед представлением SecondVC, Этот шаг пропускается при использовании кода выше.

Дополнительная информация:
А) Хотя Navigation Controller, Main VC в моем приложении не отображается панель навигации в моем приложении. Я считаю, что это было бы против HIG для отображения двух панелей навигации на iPhone. Я показываю это здесь, чтобы идентифицировать Main VC.
Б) В FirstVC есть текстовые поля, которые пользователь заполняет. Если я просто скопирую код, будет ли он читать и сохранять данные из textFields.text?

Вопрос: как мне позвонить prepareForSegue от First VC когда Button 2 подключен в MainVC? или есть другой подход к этому?

1 ответ

Вы можете попробовать что-то вроде следующего:

UINavigationController *navController = [[self childViewControllers] objectAtIndex:0];
UIViewController *vc = [navController topViewController]
if ([vc isKindOfClass:[FirstVC class]]) {
    FirstVC *firstVC = (FirstVC *)vc;
    SecondVC *secondVC = [[self storyboard] instantiateViewControllerWithIdentifier:@"second"];
    // Copy and read data from [[firstVC textField] text] to secondVC.
    [navController pushViewController:secondVC animated:YES];
}
Другие вопросы по тегам