Я получил эту ошибку, пытаясь взломать свой способ добавления элементов пользовательского интерфейса во всплывающее окно в Xcode, просто рисуя компоненты пользовательского интерфейса в представлении из раскадровки Xcode:
2019-06-19 17:48:07.215803-0400 FileVacuum[28312:2252972] [General] *** -[NSKeyedUnarchiver decodeObjectForKey:]: cannot decode object of class (AMPathPopUpButton) for key (NS.objects); the class may be defined in source code or a library that is not linked
2019-06-19 17:48:07.222794-0400 FileVacuum[28312:2252972] [General] (
Я с радостью нарисовал свое приложение в Xcode, построил его и увидел ошибку выше, когда попытался вызвать всплывающее окно с недавно добавленными Main.storyboard
элементами пользовательского интерфейса внутри.
Чтобы устранить эту ошибку и получить создание/отображение элементов пользовательского интерфейса вашего всплывающего окна, выполните два простых шага:
@IBOutlet
следующим образом: @IBOutlet var imgPath: NSPathCell!
. Как только вы добавите переменную @IBOutlet
, вам нужно перетащить мышь и подключить ее к элементу пользовательского интерфейса. Вам понадобится @IBOutlet
или @IBAction
для каждого элемента, который вы нарисовали в Main.storyboard
, например так:На RayWenderlich.com есть хороший учебник по созданию всплывающего окна и добавлению элементов пользовательского интерфейса, связанных с Main.storyboard
для приложений MacOS, здесь:
https://www.raywenderlich.com/450-menus-and-popovers-in-menu-bar-apps-for-macos