Instance Method

canClose(withDelegate:shouldClose:contextInfo:)

If the receiver is not dirty, this method immediately calls the shouldCloseSelector callback on the specified delegate with true.

Declaration

func canClose(withDelegate delegate: Any, shouldClose shouldCloseSelector: Selector?, contextInfo: UnsafeMutableRawPointer?)

Parameters

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

If the receiver is dirty, an alert is presented giving the user a chance to save, not save, or cancel. If the user chooses to save, this method saves the document. If the save completes successfully, this method calls the callback with true. If the save is canceled or otherwise unsuccessful, this method calls the callback with false. This method may be called by shouldCloseWindowController(_:delegate:shouldClose:contextInfo:). It is also called by the NSDocumentController method closeAllDocuments(withDelegate:didCloseAllSelector:contextInfo:). You should call it before you call close() if you are closing the document and want to give the user a chance to save any edits. Pass the contextInfo object with the callback.

The shouldCloseSelector callback method should have the following signature:

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

See Also

Closing Documents

func close()

Closes all windows owned by the receiver and removes the receiver from the list of documents maintained by the document controller, which consequently releases it.