Ich habe ein Beispielprojekt als:Was ist der richtige Weg, um einen NSWindowController Singleton in Swift zu machen?
https://github.com/ericgorr/nspanel_show.git
Mein Projekt ist ein Storyboard, Dokument-basierte Anwendung. Ich möchte einen benutzerdefinierten Übergang verwenden, um den sichtbaren Status des Inspektorfensters umzuschalten. Was ich habe, sollte funktionieren, aber ich kann nicht ganz bestimmen, wie man das Inspektorfenster zu einem Singleton macht.
Ich glaube, ich sollte mit beginnen:
class InspectorWindowController: NSWindowController
{
static let sharedInstance = InspectorWindowController()
// override func init()
// {
//
// }
override func windowDidLoad()
{
super.windowDidLoad()
NSLog(":::: %@", InspectorWindowController.sharedInstance);
}
}
Aber genau das, was die Initialisierung wie in meiner Situation mir entweicht aussehen sollte, zumal das Fenster innerhalb eines Storyboards ist.
Das ist sicherlich eine (alte) Möglichkeit, um dieses Problem zu lösen, aber ich wollte einen Übergang verwenden. Mit einem richtigen InspectorWindowController Singleton sollte dies möglich sein. Das Problem ist, dass es mir unklar ist, wie genau die verschiedenen Init-Funktionen überschrieben werden müssen, um das Singleton-Muster zu erhalten. Wenn es nicht möglich ist, einen richtigen Singleton zu erstellen, wäre das gut zu wissen. – ericg