NSViewController IBOutlet всегда ноль

У меня есть приложение Какао, которое имеет основной NSWindowController и внутри NSView подключен к NSViewController объект как это:

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

CloudCardsViewController является NSViewController с этими Nib а также IBOutlet к NSStackView, Когда я пытаюсь получить доступ к розетке, приложение вылетает и показывает эту ошибку на консоли:

Неустранимая ошибка: неожиданно найдено ноль при развертывании необязательного значения 2017-09-16 19:46:43.756852+0200 AppName[3402:150754] Неустранимая ошибка: неожиданно найдено ноль при развертывании необязательного значения

Если я добавлю NSViewController по коду работает нормально...

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

Если я распечатаю baseStackView результат nil

Любая идея? Спасибо!

1 ответ

Решение

Проблема с вашим кодом в том, что вы загружаете только MainWindowController из файла XIB. MainWindowController инициализируется и с ним только подключенный XIB из CloudCardsViewontroler, Но твой CloudCardsViewController никогда не был инициализирован для себя. Вы не можете использовать свой CloudCardsViewController как это. Вы должны инициализировать его, а затем добавить его в свой MainWindowController,

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

Другие вопросы по тегам