Instance Method

changeCountToken(for:)

Returns an object that encapsulates the current record of document changes at the beginning of a save operation.

Declaration

func changeCountToken(for saveOperation: NSDocument.SaveOperationType) -> Any

Parameters

saveOperation

The type of save operation.

Return Value

An object encapsulating the document changes.

Discussion

The returned object is meant to be passed to updateChangeCount(withToken:for:) at the end of the save operation. For example, save(to:ofType:for:completionHandler:) invokes this method, on the main thread, before it does any actual saving. This method facilitates asynchronous saving, during which a user can change a document while it is being saved.

See Also

Reading From and Writing to URLs

func read(from: URL, ofType: String)

Sets the contents of this document by reading from a file or file package, of a specified type, located by a URL.

func write(to: URL, ofType: String)

Writes the contents of the document to a file or file package located by a URL, formatted to a specified type.

func writeSafely(to: URL, ofType: String, for: NSDocument.SaveOperationType)

Writes the contents of the document to a file or file package located by a URL.

func write(to: URL, ofType: String, for: NSDocument.SaveOperationType, originalContentsURL: URL?)

Writes the contents of the document to a file or file package located by a URL.

func fileAttributesToWrite(to: URL, ofType: String, for: NSDocument.SaveOperationType, originalContentsURL: URL?) -> [String : Any]

As a file is being saved, returns the attributes that should be written to a file or file package located by a URL, formatted to a specified type, for a particular kind of save operation.

func save(to: URL, ofType: String, for: NSDocument.SaveOperationType, delegate: Any?, didSave: Selector?, contextInfo: UnsafeMutableRawPointer?)

Saves the contents of the document to a file or file package located by a URL, formatted to a specified type, for a particular kind of save operation.

func canAsynchronouslyWrite(to: URL, ofType: String, for: NSDocument.SaveOperationType) -> Bool

Returns whether the receiver can concurrently write to a file or file package located by a URL, formatted for a specific type, for a specific kind of save operation.

func save(to: URL, ofType: String, for: NSDocument.SaveOperationType, completionHandler: (Error?) -> Void)

Saves the contents of the document to a file or file package located by a URL, formatted to a specified type, for a particular kind of save operation, and invokes the passed-in completion handler.

func updateChangeCount(withToken: Any, for: NSDocument.SaveOperationType)

Records the fact that saving has succeeded and updates related aspects of the change count mechanism.

func unblockUserInteraction()

Unblocks the main thread during asynchronous saving.