Desidero inizializzare un oggetto controller di finestra da un file di pennino, abbastanza semplice, vero? Ma semplicemente non riesco a farlo funzionare.Come inizializzare un NSWindowController in Swift?
Secondo la mia esperienza precedente in objC, ho scritto verso il basso il seguente codice:
init() {
super.init(windowNibName: "SplitWindowController")
}
E nel file app delegato, ho semplicemente init e visualizza la finestra:
var myWindowController: MyWindowController = MyWindowController()
myWindowController.showWindow(self)
myWindowController.window.makeKeyAndOrderFront(nil)
Ma il compilatore mi dà questo errore: Must call a designated initializer of the superclass 'NSWindowController'
. E secondo la versione Swift della definizione NSWindowController
, ci sono solo 3 designati inizializzatori, ovvero init()
, init(window)
, init(coder)
. Non so cosa fare dopo. Devo costruire un NSCoder
da un file pennino, che non so come fare?
@George vedere qui per rispondere alla tua domanda: [Subclassing NSWindowController] [1] [1]: http: // stackoverflow.it/questions/24220638/subclassing-nswindowcontroller-in-swift-and-initwindownibname – mqueue