How can I use NSWindowController for shared panels (inspectors, find panels, etc.)?
An NSWindowController object without an associated NSDocument object is useful all by itself. NSWindowController can be used as the base class for auxiliary panel controllers in order to gain the use of its nib management abilities. One common standalone use of NSWindowController subclasses is as controllers for shared panels such as find panels, inspectors, or preferences panels. In this case, you can make an NSWindowController subclass that implements a shared instance method. For example, you could create a PreferencesController subclass with a sharedPreferenceController class method that creates a single instance the first time it is called and returns that same instance on all subsequent calls. Because your subclass derives from NSWindowController, you can just tell it the name of your Preferences nib file and it will handle loading the nib file and managing the window automatically. You add your own outlets and actions, as usual, to hook up the specific user interface for your pa
An NSWindowController without an associated NSDocument is useful all by itself. NSWindowController can be used as the base class for auxiliary panel controllers in order to gain the use of its nib management abilities. One common stand-alone use of NSWindowController subclasses is as controllers for shared panels such as find panels, inspectors, or preferences panels. In this case you can make an NSWindowController subclass which implements a shared instance method. For example, you could create a PreferencesController subclass with a sharedPreferenceController class method that creates a single instance the first time it is called and returns that same instance on all subsequent calls. Because your subclass is an NSWindowController, you can just tell it the name of your Preferences nib and it will handle loading the nib file and managing the window automatically.You add your own outlets and actions, as usual, to hook up the specific user interface for your panel, and add API to manage