2013-09-25 2 views
7

У меня есть приложение ios, использующее раскадровки с кучей контроллеров.UIStoryboard Не удалось найти контроллер представления с идентификатором

После добавления нового ViewController, и настройки идентификации (Раскадровка ID) enter image description here

Я пытаюсь создать экземпляр нового ViewController со следующим кодом:

SurveyNewViewController *newSurvey = [[self storyboard] instantiateViewControllerWithIdentifier:@"newSurveyView"]; 
[self presentViewController:newSurvey animated:YES completion:nil]; 

Все вроде бы правильно, но при запуске приложения на тренажере он сработает:

** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 
'Storyboard (<UIStoryboard: 0xa340fa0>) doesn't contain a view controller 
with identifier 'newSurveyView'' 

Есть ли возможное объяснение ион для этого? Я использовал этот же подход в разных местах системы, и он работает хорошо.

+0

У вас есть более 1 раскадровки? – rdelmar

+0

Кроме того, что вы делаете в своем '' методе 'self раскадровки '? – micantox

+0

да @rdelmar, у меня более одного раскадровки. @micantox '[self storyboard]' является свойством UIViewController. – gabrielrios

ответ

37

Попробуйте удалить приложение из iPhone Simulator, очистите проект и создайте, после запуска проекта.

+0

ничего себе этот ответ совершенен! – beginners

+0

удалить? попросить пользователя удалить тоже? – neobie

+0

Это просто сработало для меня; Спасибо! –

4

Попробуйте с этим:

[[UIStoryboard storyboardWithName:@"StoryboardNameOfnewSurveyView" bundle:nil] instantiateViewControllerWithIdentifier:@"newSurveyView"]; 

Если это работает, я думаю, что [само] раскадровку не дают вам правильный объект;).

+0

Пробовал, что уже и результаты остались прежними. В самом деле, у меня есть другой код, похожий на тот, в том же классе, который отлично работает. – gabrielrios

0

Установить Storyboard ID, так как это используется в Xcode 8.0 и установите опцию Use Storyboard ID. Также проверьте, что поле «Класс» установлено в Storyboard так, что ViewController.

Screenshot of dialogue

Смежные вопросы