Presents a modal Save panel to the user, then tries to save the document if the user approves the panel.
SDK
- macOS 10.0+
Framework
- App
Kit
Declaration
func runModalSavePanel(for saveOperation: NSDocument.Save Operation Type, delegate: Any?, didSave didSaveSelector: Selector?, contextInfo: Unsafe Mutable Raw Pointer?)
Parameters
saveOperation
The type of save operation.
delegate
The delegate to which the selector message is sent.
didSaveSelector
The selector of the message sent to the delegate.
contextInfo
Object passed with the callback to provide any additional context information.
Discussion
When saving is completed, regardless of success or failure, or has been canceled, sends the message selected by did
to the delegate
, with context
as the last argument. The method selected by did
must have the same signature as:
- (void)document:(NSDocument *)doc didSave:(BOOL)didSave contextInfo:(void *)contextInfo
Invoked from save(with
, and from the save
and save
action methods. The default implementation of this method first makes sure that any editor registered using the Cocoa Bindings NSEditorRegistration informal protocol has committed its changes, then creates a Save panel, adds a standard file format accessory view (if there is more than one file type for the user to choose from and should
returns true
), sets various attributes of the panel, invokes prepare
to provide an opportunity for customization, then presents the panel. If the user approves the panel, the default implementation sends the message save(to:
.
For backward binary compatibility with Mac OS v10.3 and earlier, the default implementation of this method instead invokes the deprecated save
if it is overridden, even if the user cancels the panel.