Раскадровка не содержит контроллера с идентификатором «MainWindow».

Я пытаюсь создать экземпляр NSWindowController из раскадровки в моем приложении OS X:

NSWindowController *mainWindowController = [[NSStoryboard storyboardWithName:@"Main" bundle:nil] instantiateControllerWithIdentifier:@"MainWindow"];

Но вот что я получаю:

Storyboard (<NSStoryboard: 0x618000008500>) doesn't contain a controller with identifier 'MainWindow'.

Но в раскадровке:

введите описание изображения здесь

Установлено. Нет, других раскадровок нет. Да, я пробовал чистить проект и папку сборки, но ничего не меняется.

Почему я получаю эту ошибку?

ОБНОВЛЕНИЕ: я создаю свое приложение, возвращаюсь к раскадровке и вижу, что идентификатор раскадровки не установлен:

введите описание изображения здесь

Как идентификатор раскадровки может быть отключен сам по себе?


person Can Poyrazoğlu    schedule 13.02.2016    source источник


Ответы (2)


Это определенно была ошибка с Xcode. Перезапуск Xcode решил проблему.

person Can Poyrazoğlu    schedule 13.02.2016
comment
Когда это случилось со мной, я заметил, что идентификатор раскадровки оконного контроллера исчезает каждый раз, когда я закрываю проект и открываю его снова. Должно быть, это была ошибка, связанная с функцией автосохранения. Я вручную сохранил файл раскадровки и «Очистить» — «Сборка» — «Выполнить». это сработало. Ваш собственный ответ помог мне, сэр. - person Kyle KIM; 26.10.2016
comment
более того, эта ошибка все еще существует в XCode 9.3 beta 4, молодцы, ребята! - person Hofi; 26.03.2018
comment
И еще проблема в версии 10.1 (10B61) - person hocker; 11.03.2019
comment
он сбрасывает идентификатор на пустой каждый перезапуск. Версия 10.2 - person Ken Zira; 07.04.2019
comment
@KenZira У меня такая же проблема. Вы пробовали шаги, перечисленные выше? - person Jake3231; 08.04.2019
comment
Эта проблема все еще существует в версии 10.3 (10G8). - person MacDeveloper; 10.01.2020

Подтверждено в 11.3. Это такая пожирательница времени, вместе с этим:

Как открыть другое окно в macOS в Swift с Cocoa

person rgos    schedule 10.02.2020
comment
Вместо ссылки, пожалуйста, воспроизведите ответ здесь. - person Death Waltz; 10.02.2020