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 и Раскадровки для повторного декодирования, он не определяет сами классы.