У меня есть несколько раскадровок, как показано ниже:
Раскадровка А
--> Корневой контроллер навигации --> Контейнерный контроллер представления --> Контроллер представления --> Домашний контроллер представления --> Справочник по раскадровке B
Раскадровка Б
--> Контейнерный контроллер представления --> Контроллер навигации --> Контроллер представления --> Справочник C по раскадровке
Раскадровка C
--> Контроллер навигации --> Контроллер представления
Суть в том, что я загружаю приложение и устанавливается rootViewController
. Затем я просматриваю приложение и попадаю в Storyboard B
, где есть кнопка, которая ведет к Storyboard C
. На View Controller
в Storyboard C
есть кнопка, которую я хочу вернуть к началу приложения.
Как из View Controller
в Storyboard C
вернуться к Home View Controller
в Storyboard A
?
Что я пробовал:
[self.navigationController.navigationController popViewControllerAnimated:animated];
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *viewController = [mainStoryboard instantiateViewControllerWithIdentifier:@"HomeScreen"];
[self presentViewController:viewController animated:animated completion:nil];
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *viewController = [mainStoryboard instantiateViewControllerWithIdentifier:@"HomeScreen"];
[UIApplication sharedApplication].keyWindow.rootViewController = viewController;
Все вышеперечисленные 3 возвращаются в нужное место, но затем приложение вылетает с ошибкой EXC_I386_GPFLT
.
Я также пробовал несколько других вещей, которые не работали. Я знаю, что это, вероятно, что-то очень простое, и у меня просто плохой день. Любые предложения очень ценятся прямо сейчас.