Instance Method

shouldCloseWindowController(_:delegate:shouldClose:contextInfo:)

Invokes shouldCloseSelector with the result of canClose(withDelegate:shouldClose:contextInfo:) if the specified window controller that is closing is the last one or is marked as causing the document to close.

Declaration

func shouldCloseWindowController(_ windowController: NSWindowController, delegate: Any?, shouldClose shouldCloseSelector: Selector?, contextInfo: UnsafeMutableRawPointer?)

Parameters

windowController

The window controller that is closed.

delegate

The delegate to which the selector message is sent.

shouldCloseSelector

The selector of the message sent to the delegate.

contextInfo

Object passed with the callback to provide any additional context information.

Discussion

Otherwise it invokes shouldCloseSelector with true. This method is called automatically by NSWindow for any window that has a window controller and a document associated with it. NSWindow calls this method prior to sending its delegate the windowShouldClose(_:) message. Pass the contextInfo object with the callback.

The shouldCloseSelector callback method should have the following signature:

- (void)document:(NSDocument *)document shouldClose:(BOOL)shouldClose  contextInfo:(void  *)contextInfo

See Also

Creating and Managing Window Controllers

func makeWindowControllers()

Subclasses may override this method to create the initial window controller(s) for the document.

var windowNibName: NSNib.Name?

The name of the document’s sole nib file.

func windowControllerDidLoadNib(NSWindowController)

Sent after the specified window controller loads a nib file if the receiver is the nib file’s owner.

func windowControllerWillLoadNib(NSWindowController)

Sent before the specified window controller loads a nib file if the receiver is the nib file’s owner.

var windowControllers: [NSWindowController]

The document’s current window controllers.

func addWindowController(NSWindowController)

Adds the specified window controller to this document’s list of attached window controllers and sets the document of the passed-in window controller.

func removeWindowController(NSWindowController)

Removes the specified window controller from the receiver’s array of window controllers.