iOS Developer Library


UIKit Framework Reference UIManagedDocument Class Reference

Deployment Target:

On This Page


UIManagedDocument is a concrete subclass of UIDocument that integrates with Core Data. When you initialize a managed document, you specify the URL for the document location. The document object then creates a Core Data stack to use to access the document’s persistent store using a managed object model from the application’s main bundle. See Supporting Document-Based Apps in iCloud in iCloud Programming Guide for Core Data for implementation strategies and troubleshooting steps.

UIManagedDocument performs all the basic set-up you need for Core Data, and in some cases you may use instances of UIManagedDocument directly (without a need to subclass). You can supply configuration options for the creation of the coordinator using persistentStoreOptions, and for the model using modelConfiguration. You can also perform additional customization by creating a subclass of UIManagedDocument:

Handling Errors

To enable your app to observe and handle errors in saving and validating a managed document, you must subclass the UIManagedDocument class and override one or both of the following two inherited methods from the UIDocument class:

Overriding is required because, otherwise, the only information your app receives on error is the UIDocumentStateChangedNotification notification, which does not contain a userInfo dictionary and so does not convey specific error information.

  • Returns the name for the persistent store file inside the document’s file package.



    class func persistentStoreName() -> String


    + (NSString *)persistentStoreName

    Return Value

    The name for the persistent store file inside the document’s file package.


    This path component is appended to the document URL provided by UIDocument. The default name is persistentStore.


    Available in iOS 5.0 and later.