представление View Controller из AppDelgate - PullRequest
0 голосов
/ 28 февраля 2012

Я попытался использовать приложение с UTabBarController в раскадровке.

Оно отображалось нормально.Тем не менее, я хотел бы также показать firstTimViewController, если пользователь запускает приложение в первый раз.следовательно, мне нужно показать эту точку зрения на didFinishLaunchingWithOptions в Appdelgate.

Я использовал приведенный ниже код:

UIStoryboard *storyboard = window.rootViewController.self.storyboard;
    StartupViewController *svc = [storyboard instantiateViewControllerWithIdentifier:@"StartupTableIdentifier"];
    [self.window.rootViewController presentModalViewController:svc animated:NO];

выдает следующую ошибку:

Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина:«Приложение попыталось представить ноль модального контроллера представления на цели.»

Ответы [ 2 ]

1 голос
/ 28 февраля 2012

Почему бы просто не иметь параметр NSUserDefaults, заданный вами в firstTimViewController (после его закрытия), и просто проверить этот параметр в rootVC раскадровки (первый TabBar VC).Когда приложение запускается в первый раз, проверьте и убедитесь, что пользователь видел и подтвердил, что firstTimeVC, а если нет, представьте его из TabBar VC.

Я бы оставил AppDelegate в покое и выполнил бы логику в TabBar VC.

1 голос
/ 28 февраля 2012

Вы установили раскадровку для приложения?Название раскадровки должно совпадать.Нажмите на проект, нажмите на цель и на вкладке сводки убедитесь, что имя Main Scoreboard соответствует названию .storyboard в проекте.

Чтобы убедиться, что у вас есть контроллер начального представления, убедитесь, чтопроверен начальный контроллер вида:

enter image description here

...