write(to:ofType:for:originalContentsURL:)
Writes the contents of the document to a file or file package located by a URL.
Declaration
nonisolated func write(to url: URL, ofType typeName: String, for saveOperation: NSDocument.SaveOperationType, originalContentsURL absoluteOriginalContentsURL: URL?) throwsParameters
- url:
The location to which the document contents are written.
- typeName:
The string that identifies the document type.
- saveOperation:
The type of save operation.
- absoluteOriginalContentsURL:
The location of the previously saved copy of the document (if not
nil).
Discussion
The default implementation of this method merely invokes [self writeToURL:absoluteURL ofType:typeName error:outError]. You can override this method instead of one of the three simple writing methods (write(to:ofType:),fileWrapper(ofType:), and data(ofType:)) if your document writing machinery needs access to the on-disk representation of the document revision that is about to be overwritten. The value of absoluteURL is often not the same as [self fileURL]. Other times it is not the same as the URL for the final save destination. Likewise, absoluteOriginalContentsURL is often not the same value as [self fileURL]. If absoluteOriginalContentsURL is nil, either the document has never been saved or the user deleted the document file since it was opened.
For backward binary compatibility with OS X v10.3 and earlier, if writeToFile:ofType:originalFile:saveOperation: is overridden and both URLs use the file: scheme, the default implementation of this method instead invokes:
[self writeToFile:[absoluteURL path]
ofType:typeName
originalFile:[absoluteOriginalContentsURL path]
saveOperation:aSaveOperation];The save operation used in this case is never NSAutosaveOperation; NSSaveToOperation is used instead.
See Also
Writing the Document’s Content
canAsynchronouslyWrite(to:ofType:for:)unblockUserInteraction()write(to:ofType:)writeSafely(to:ofType:for:)fileWrapper(ofType:)data(ofType:)save(to:ofType:for:delegate:didSave:contextInfo:)save(to:ofType:for:completionHandler:)fileAttributesToWrite(to:ofType:for:originalContentsURL:)NSDocument.SaveOperationType