STORYBOARD - не содержит контроллер представления с идентификатором - PullRequest
165 голосов
/ 28 ноября 2011

Я получаю следующую ошибку:

Storyboard (<UIStoryboard: 0x7ebdd20>) doesn't contain a view controller 
with identifier 'drivingDetails'

Это код:

- (void)tableView:(UITableView *)tableView 
        didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

   UIViewController *controller =  [self.storyboard instantiateViewControllerWithIdentifier:@"drivingDetails"];
   controller.title = [[dao libraryItemAtIndex:indexPath.row] valueForKey:@"name"];
   [self.navigationController pushViewController:controller animated:YES];
}

Я уже установил identifier на UIStoryboard, ноЯ все еще получаю эту ошибку.

enter image description here


Ответы [ 18 ]

1 голос
/ 27 октября 2016

В некоторых моих контроллерах вида отсутствовал атрибут storyboardIdentifier .

До:

<viewController
    id="pka-il-u5E"
    customClass="YourViewControllerName"
    customModule="ModuleName"
    customModuleProvider="target"
    sceneMemberID="viewController">

После того, как:

<viewController
    storyboardIdentifier="YourViewControllerName"   <----
    id="pka-il-u5E"
    customClass="YourViewControllerName"
    customModule="ModuleName"
    customModuleProvider="target"
    sceneMemberID="viewController">
0 голосов
/ 24 июля 2017

это очень просто выбрать соответствующий контроллер представления в основной раскадровке и проверить идентификатор storyboardID, если его нынешний использовать его в идентификаторе имени и использовать его.

здесь мой первый - это storyboardID letvc = self.storyboard? .instantiateViewController (withIdentifier: "firstone") как!tabBarViewController

0 голосов
/ 19 июля 2017

Я перепробовал все вышеперечисленные решения, но ни одно из них не сработало.

То, что я сделал, было:

  • Проект чистый
  • Удалить производные данные
  • Перезапустите Xcode
  • Повторно введите StoryboardID, показанный в предыдущих ответах (внутри IB).

И тогда это сработало. Шокирующим было то, что я ввел Storyboar ID в конструкторе интерфейсов, и он был удален / удален после повторного открытия Xcode.

Надеюсь, это кому-нибудь поможет.

0 голосов
/ 16 марта 2015

Используйте ваш идентификатор (@ "drivingDetails") в качестве идентификатора раскадровки.

0 голосов
/ 20 января 2014

Я получил ту же ошибку, и я мог это исправить, изменив следующие изменения в моем проекте. Я упомянул свое имя класса в панели инспектора, тогда проблема решена. Перейти-> правая панель там инспектор идентичности В разделе пользовательских классов

class: ваше имя класса (ViewController)

В разделе Identity ID раскадровки: ваш ID раскадровки (имя viewController)

После этого нажмите здесь опцию Использовать ID раскадровки. На этом проблема решена. Я надеюсь, что это поможет вам ....

0 голосов
/ 14 марта 2019

XCODE DRAG N DROP PANE УЖЕ !!!

enter image description here enter image description here

0 голосов
/ 24 мая 2019

Очистка всех вещей и закрытие XCode не решили проблему для меня.

Мне пришлось удалить viewController и создать новый с новым идентификатором.

0 голосов
/ 28 ноября 2011

При вводе идентификатора вы не выбрали правильный контроллер вида, просто проверьте один раз, если все готово, повторите процедуру еще раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...