Я пытаюсь запустить новый проект на основе Cocoa в Swift и хочу создать подкласс NSWindowController
(как рекомендовано в руководствах Apple в приложениях на основе документов). В ObjC вы должны сделать экземпляр подкласса NSWindowController
, отправив сообщение initWithWindowNibName:
, которое было соответствующим образом реализовано, вызывая метод суперклассов.
В Swift init(windowNibName)
доступен только как инициализатор удобства, назначенный инициализатор NSWindowController
равен init(window)
, который, очевидно, хочет, чтобы я проходил в окне.
Я не могу вызывать super.init(windowNibName)
из моего подкласса, потому что это не назначенный инициализатор, поэтому я, очевидно, должен реализовать convenience init(windowNibName)
, который, в свою очередь, должен вызвать self.init(window)
. Но если все, что у меня есть, это мой файл nib, как мне получить доступ к окну файла nib для отправки на этот инициализатор?