UIDocument Class

Definition

Abstract base class providing local and cloud-based management of Model data.

[Foundation.Register("UIDocument", true)]
[ObjCRuntime.Unavailable(ObjCRuntime.PlatformName.TvOS, ObjCRuntime.PlatformArchitecture.All, null)]
public class UIDocument : Foundation.NSObject, Foundation.INSFilePresenter, Foundation.INSProgressReporting, IDisposable, UIKit.IUIUserActivityRestoring
type UIDocument = class
    inherit NSObject
    interface INSFilePresenter
    interface INativeObject
    interface IDisposable
    interface INSProgressReporting
    interface IUIUserActivityRestoring
Inheritance
UIDocument
Derived
Attributes
Implements

Remarks

Application developers can subclass UIDocument to create objects that are "Model-Controllers" and relate to Model (domain) objects analogously to how UIViewController relate to UIViews. iOS provides a number of functions, including background asynchronous reading and writing of application data, automatic and safe data-saving, storage that is automatically coordinated between the application sandbox and cloud services, etc.

At a minimum, application developers need to implement ContentsForType(String, NSError) (for storage) and LoadFromContents(NSObject, String, NSError) (for retrieval). Additionally, application developers need to manage the lifecyle of the UIDocument and this requires the application developer to set the preferred storage location, create a file URL, and discover, open, and close the file. Application developers should also track changes and resolve conflicts between document versions.

The members of this class can be used from a background thread.

Constructors

UIDocument(IntPtr)

A constructor used when creating managed representations of unmanaged objects; Called by the runtime.

UIDocument(NSObjectFlag)

Constructor to call on derived classes to skip initialization and merely allocate the object.

UIDocument(NSUrl)

Constructor

Properties

Class (Inherited from NSObject)
ClassHandle

The handle for this class.

DebugDescription

A developer-meaningful description of this object.

(Inherited from NSObject)
Description

Description of the object, the Objective-C version of ToString.

(Inherited from NSObject)
DocumentState

The current UIDocumentState of this UIDocument. Read-only.

FileModificationDate

The date and time at which the document file was last modified.

FileType

The Uniform Type Identifier for this UIDocument. Read-only.

FileUrl

The file URL from which this UIDocument was initialized. Read-only.

Handle

Handle (pointer) to the unmanaged object representation.

(Inherited from NSObject)
HasUnsavedChanges

Whether this UIDocument has any unsaved changes.

IsDirectBinding (Inherited from NSObject)
IsProxy (Inherited from NSObject)
LocalizedName

The localized name of this UIDocument. Read-only.

PesentedItemOperationQueue

Gets an operation queue.

PresentedItemObservedUbiquityAttributes

Gets the set of ubiquity attributes that will generate notifications if they are modified.

PresentedItemURL

Gets URL of presented item.

Progress

A NSProgress object that reports on the current operation of this document.

RetainCount

Returns the current Objective-C retain count for the object.

(Inherited from NSObject)
SavingFileType

The file type used for saving this UIDocument.

Self (Inherited from NSObject)
StateChangedNotification

Notification constant for StateChanged

Superclass (Inherited from NSObject)
SuperHandle

Handle used to represent the methods in the base class for this NSObject.

(Inherited from NSObject)
UndoManager

The NSUndoManager for this UIDocument.

UserActivity

Object that encapsulates user activity information.

UserActivityDocumentUrlKey

Gets the key that specifies the document's URL in the UserActivity property.

Zone (Inherited from NSObject)

Methods

AccommodatePresentedItemDeletion(Action<NSError>)

Accomodates the presented subitem deletion.

AccommodatePresentedSubitemDeletion(NSUrl, Action<NSError>)

Accomodates the presented subitem deletion.

AddObserver(NSObject, NSString, NSKeyValueObservingOptions, IntPtr)

Registers an object for being observed externally (using NSString keyPath).   Observed changes are dispatched to the observer’s object ObserveValue(NSString, NSObject, NSDictionary, IntPtr) method.

(Inherited from NSObject)
AddObserver(NSObject, String, NSKeyValueObservingOptions, IntPtr)

Registers an object for being observed externally (using string keyPath).   Observed changes are dispatched to the observer’s object ObserveValue(NSString, NSObject, NSDictionary, IntPtr) method.

(Inherited from NSObject)
AddObserver(NSString, NSKeyValueObservingOptions, Action<NSObservedChange>)

Registers an object for being observed externally using an arbitrary method.

(Inherited from NSObject)
AddObserver(String, NSKeyValueObservingOptions, Action<NSObservedChange>)

Registers an object for being observed externally using an arbitrary method.

(Inherited from NSObject)
AutoSave(UIOperationHandler)

Called by the system immediately prior to automatic saving of UIDocuments with unsaved changes.

AutoSaveAsync()

Called by the system immediately prior to automatic saving of UIDocuments with unsaved changes.

AwakeFromNib()

Called after the object has been loaded from the nib file. Overriders must call base.AwakeFromNib().

(Inherited from NSObject)
BeginInvokeOnMainThread(Action) (Inherited from NSObject)
BeginInvokeOnMainThread(Selector, NSObject)

Invokes asynchrously the specified code on the main UI thread.

(Inherited from NSObject)
Bind(NSString, NSObject, String, NSDictionary) (Inherited from NSObject)
Bind(String, NSObject, String, NSDictionary) (Inherited from NSObject)
BindingInfo(String) (Inherited from NSObject)
BindingOptionDescriptions(String) (Inherited from NSObject)
BindingValueClass(String) (Inherited from NSObject)
ChangeCountTokenForSaveOperation(UIDocumentSaveOperation)

When overridden, returns an object encapsulating document changes. Used with UpdateChangeCount and Save.

Close(UIOperationHandler)

Asynchronously closes the document after saving any changes.

CloseAsync()

Asynchronously closes the document after saving any changes.

CommitEditing() (Inherited from NSObject)
CommitEditing(NSObject, Selector, IntPtr) (Inherited from NSObject)
ConformsToProtocol(IntPtr)

Invoked to determine if this object implements the specified protocol.

(Inherited from NSObject)
ContentsForType(String, NSError)

Application developers should override this method to return the document data to be saved.

Copy()

Performs a copy of the underlying Objective-C object.

(Inherited from NSObject)
DangerousAutorelease() (Inherited from NSObject)
DangerousRelease() (Inherited from NSObject)
DangerousRetain() (Inherited from NSObject)
DidChange(NSKeyValueChange, NSIndexSet, NSString)

Indicates a change occurred to the indexes for a to-many relationship.

(Inherited from NSObject)
DidChange(NSString, NSKeyValueSetMutationKind, NSSet) (Inherited from NSObject)
DidChangeValue(String)

Indicates that a change occurred on the specified key.

(Inherited from NSObject)
DisableEditing()

When overridden, allows app developers to disable editing when it is unsafe to make changes to this UIDocument.

Dispose()

Releases the resources used by the NSObject object.

(Inherited from NSObject)
Dispose(Boolean)

Releases the resources used by the NSObject object.

(Inherited from NSObject)
DoesNotRecognizeSelector(Selector)

Indicates that this object does not recognize the specified selector.

(Inherited from NSObject)
EnableEditing()

When overridden, allows app developers to re-enable editing when it is safe to make changes to this UIDocument.

Equals(NSObject) (Inherited from NSObject)
Equals(Object) (Inherited from NSObject)
ExposedBindings() (Inherited from NSObject)
FinishedHandlingError(NSError, Boolean)

Application developers should call this function when they have finished handling an error.

GetBindingInfo(NSString) (Inherited from NSObject)
GetBindingOptionDescriptions(NSString) (Inherited from NSObject)
GetBindingValueClass(NSString) (Inherited from NSObject)
GetDictionaryOfValuesFromKeys(NSString[])

Retrieves the values of the specified keys.

(Inherited from NSObject)
GetFileAttributesToWrite(NSUrl, UIDocumentSaveOperation, NSError)

A dictionary of file attributes to associate with this UIDocument when writing or updating it.

GetFileNameExtension(String, UIDocumentSaveOperation)

The file extension to append to the file URL of this UIDocument when writing it.

GetHashCode()

Generates a hash code for the current instance.

(Inherited from NSObject)
GetMethodForSelector(Selector) (Inherited from NSObject)
GetNativeField(String) (Inherited from NSObject)
GetNativeHash() (Inherited from NSObject)
HandleError(NSError, Boolean)

Called when an error occurs during reading, saving, or reverting this UIDocument.

Init() (Inherited from NSObject)
InitializeHandle(IntPtr) (Inherited from NSObject)
InitializeHandle(IntPtr, String) (Inherited from NSObject)
Invoke(Action, Double) (Inherited from NSObject)
Invoke(Action, TimeSpan) (Inherited from NSObject)
InvokeOnMainThread(Action) (Inherited from NSObject)
InvokeOnMainThread(Selector, NSObject)

Invokes synchrously the specified code on the main UI thread.

(Inherited from NSObject)
IsEqual(NSObject) (Inherited from NSObject)
IsKindOfClass(Class) (Inherited from NSObject)
IsMemberOfClass(Class) (Inherited from NSObject)
LoadFromContents(NSObject, String, NSError)

App developers should override this method to load document data into their domain objects.

MarkDirty()

Promotes a regular peer object (IsDirectBinding is true) into a toggleref object.

(Inherited from NSObject)
MutableCopy()

Creates a mutable copy of the specified NSObject.

(Inherited from NSObject)
ObjectDidEndEditing(NSObject) (Inherited from NSObject)
ObserveValue(NSString, NSObject, NSDictionary, IntPtr)

Indicates that the value at the specified keyPath relative to this object has changed.

(Inherited from NSObject)
Open(UIOperationHandler)

Asynchronously opens a document.

OpenAsync()

Asynchronously opens a document.

PerformAsynchronousFileAccess(Action)

Performs an asynchronous file access action.

PerformAsynchronousFileAccessAsync()

Performs an asynchronous file access action.

PerformSelector(Selector) (Inherited from NSObject)
PerformSelector(Selector, NSObject) (Inherited from NSObject)
PerformSelector(Selector, NSObject, Double)

Invokes the selector on the current instance and if the obj is not null, it passes this as its single parameter.

(Inherited from NSObject)
PerformSelector(Selector, NSObject, Double, NSString[]) (Inherited from NSObject)
PerformSelector(Selector, NSObject, NSObject) (Inherited from NSObject)
PerformSelector(Selector, NSThread, NSObject, Boolean) (Inherited from NSObject)
PerformSelector(Selector, NSThread, NSObject, Boolean, NSString[]) (Inherited from NSObject)
PrepareForInterfaceBuilder() (Inherited from NSObject)
PresentedItemChanged()

Changed NSFileVersion of item.

PresentedItemChangedUbiquityAttributes(NSSet<NSString>)

The system calls this function to indicate that the have changed in ubiquity.

PresentedItemGainedVersion(NSFileVersion)

Presents gained NSFileVersion of item.

PresentedItemLostVersion(NSFileVersion)

Presents lost version of item.

PresentedItemMoved(NSUrl)

Defines subitem move between URLs.

PresentedItemResolveConflictVersion(NSFileVersion)

Resolves conflict version of item.

PresentedSubitemAppeared(NSUrl)

Sets appearance URL.

PresentedSubitemChanged(NSUrl)

Changed NSFileVersion of subitem.

PresentedSubitemGainedVersion(NSUrl, NSFileVersion)

Presents gained version of subitem.

PresentedSubitemLostVersion(NSUrl, NSFileVersion)

Presents lost version of file.

PresentedSubitemMoved(NSUrl, NSUrl)

Defines subitem move between URLs.

PresentedSubitemResolvedConflictVersion(NSUrl, NSFileVersion)

Resolves conflict version of subitem.

Read(NSUrl, NSError)

Reads the document data from the specified location into the application sandbox.

RelinquishPresentedItemToReader(NSFilePresenterReacquirer)

Another request has been made for read access the presented item. (App developers overriding this method must run the readerAction action after releasing the resource.)

RelinquishPresentedItemToWriter(NSFilePresenterReacquirer)

Another request has been made for write access the presented item. (App developers overriding this method must run the writerAction action after releasing the resource.)

RemoveObserver(NSObject, NSString)

Stops the specified observer from receiving further notifications of changed values for the specified keyPath.

(Inherited from NSObject)
RemoveObserver(NSObject, NSString, IntPtr)

Stops the specified observer from receiving further notifications of changed values for the specified keyPath and context.

(Inherited from NSObject)
RemoveObserver(NSObject, String)

Stops the specified observer from receiving further notifications of changed values for the specified keyPath.

(Inherited from NSObject)
RemoveObserver(NSObject, String, IntPtr)

Stops the specified observer from receiving further notifications of changed values for the specified keyPath and context.

(Inherited from NSObject)
RespondsToSelector(Selector)

Whether this object recognizes the specified selector.

(Inherited from NSObject)
RestoreUserActivityState(NSUserActivity)

Restores the state of the user activity.

RevertToContentsOfUrl(NSUrl, UIOperationHandler)

Reverts the UIDocument to the most recent document data stored on-disk.

RevertToContentsOfUrlAsync(NSUrl)

Reverts the UIDocument to the most recent document data stored on-disk.

Save(NSUrl, UIDocumentSaveOperation, UIOperationHandler)

Saves the document data to the specified location in the application sandbox.

SaveAsync(NSUrl, UIDocumentSaveOperation)

Saves the document data to the specified location in the application sandbox.

SavePresentedItemChanges(Action<NSError>)

Saves changes to the presented item.

SetNativeField(String, NSObject) (Inherited from NSObject)
SetNilValueForKey(NSString)

Sets the value of the specified key to null.

(Inherited from NSObject)
SetValueForKey(NSObject, NSString)

Sets the value of the property specified by the key to the specified value.

(Inherited from NSObject)
SetValueForKeyPath(IntPtr, NSString)

A constructor used when creating managed representations of unmanaged objects; Called by the runtime.

(Inherited from NSObject)
SetValueForKeyPath(NSObject, NSString)

Sets the value of a property that can be reached using a keypath.

(Inherited from NSObject)
SetValueForUndefinedKey(NSObject, NSString)

Indicates an attempt to write a value to an undefined key. If not overridden, raises an NSUndefinedKeyException.

(Inherited from NSObject)
SetValuesForKeysWithDictionary(NSDictionary)

Sets the values of this NSObject to those in the specified dictionary.

(Inherited from NSObject)
ToString()

Returns a string representation of the value of the current instance.

(Inherited from NSObject)
Unbind(NSString) (Inherited from NSObject)
Unbind(String) (Inherited from NSObject)
UpdateChangeCount(NSObject, UIDocumentSaveOperation)

When overridden, can customize the change count with reference to the specified changeCountToken.

UpdateChangeCount(UIDocumentChangeKind)

Updates the change counter by indicating the kind of change.

UpdateUserActivityState(NSUserActivity)

Updates the activity's state.

UserInteractionNoLongerPermittedForError(NSError)

Indicates that it is no longer safe to proceed without handling the error.

ValueForKey(NSString)

Returns the value of the property associated with the specified key.

(Inherited from NSObject)
ValueForKeyPath(NSString)

Returns the value of a property that can be reached using a keypath.

(Inherited from NSObject)
ValueForUndefinedKey(NSString)

Indicates an attempt to read a value of an undefined key. If not overridden, raises an NSUndefinedKeyException.

(Inherited from NSObject)
WillChange(NSKeyValueChange, NSIndexSet, NSString)

Indicates that the values of the specified indices in the specified key are about to change.

(Inherited from NSObject)
WillChange(NSString, NSKeyValueSetMutationKind, NSSet) (Inherited from NSObject)
WillChangeValue(String)

Indicates that the value of the specified key is about to change.

(Inherited from NSObject)
WriteContents(NSObject, NSDictionary, NSUrl, UIDocumentSaveOperation, NSError)

Writes and ensures that the document data is written properly to the specified location in the application sandbox.

WriteContents(NSObject, NSUrl, UIDocumentSaveOperation, NSUrl, NSError)

Writes and ensures that the document data is written properly to the specified location in the application sandbox.

Extension Methods

AccommodatePresentedItemDeletion(INSFilePresenter, Action<NSError>)
AccommodatePresentedSubitemDeletion(INSFilePresenter, NSUrl, Action<NSError>)
GetPresentedItemObservedUbiquityAttributes(INSFilePresenter)
GetPrimaryPresentedItemUrl(INSFilePresenter)
PresentedItemChanged(INSFilePresenter)
PresentedItemChangedUbiquityAttributes(INSFilePresenter, NSSet<NSString>)
PresentedItemGainedVersion(INSFilePresenter, NSFileVersion)
PresentedItemLostVersion(INSFilePresenter, NSFileVersion)
PresentedItemMoved(INSFilePresenter, NSUrl)
PresentedItemResolveConflictVersion(INSFilePresenter, NSFileVersion)
PresentedSubitemAppeared(INSFilePresenter, NSUrl)
PresentedSubitemChanged(INSFilePresenter, NSUrl)
PresentedSubitemGainedVersion(INSFilePresenter, NSUrl, NSFileVersion)
PresentedSubitemLostVersion(INSFilePresenter, NSUrl, NSFileVersion)
PresentedSubitemMoved(INSFilePresenter, NSUrl, NSUrl)
PresentedSubitemResolvedConflictVersion(INSFilePresenter, NSUrl, NSFileVersion)
RelinquishPresentedItemToReader(INSFilePresenter, NSFilePresenterReacquirer)
RelinquishPresentedItemToWriter(INSFilePresenter, NSFilePresenterReacquirer)
SavePresentedItemChanges(INSFilePresenter, Action<NSError>)
GetDebugDescription(INSObjectProtocol)
GetProgress(INSProgressReporting)
GetAccessibilityCustomRotors(NSObject)

Gets the array of UIAccessibilityCustomRotor objects appropriate for this object.

SetAccessibilityCustomRotors(NSObject, UIAccessibilityCustomRotor[])

Sets the array of UIAccessibilityCustomRotor objects appropriate for this object.

Applies to

See also