Я занят создании приложения - что при запуске в первый раз, он запрашивает у пользователя, чтобы сделать две вещи:инстанцировании View Controller программно с помощью раскадровки из AppDelegate
- Выберите страну
- Accept T & Cs
Оттуда он переходит к контроллеру домашнего кинотеатра.
Проблема, с которой я сейчас сталкиваюсь, заключается в том, чтобы перенести первый контроллер представления на экран из моего делегата приложения. Я использую раскадровки/Xcode 5/iOS7
Вот код, который я придумал:
UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle: nil];
BBCounterySettingsViewController *controller = (BBCounterySettingsViewController*)[mainStoryboard instantiateViewControllerWithIdentifier: @"CountrySettings"];
[navigationController pushViewController:controller animated:NO];
Проблема в том, что приложение падает, когда он попадает в последнюю строку кода со следующей ошибкой:
* Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIViewController pushViewController:animated:]: unrecognized selector sent to instance 0x8e9a400'
У кого-нибудь есть идеи, что я делаю неправильно?
Я думаю, что я использую этот подход неправильно. Этот диспетчер представлений не должен перемещаться нигде. Просто нужно уволить. Остальная часть приложения - это приложение на основе панели вкладок. В приложении делегат self.navigationController не существует? – Tander
Я обновлю свой ответ новым советом, то :) – Rick