Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Ссылка платформы UIKit ссылка класса UIManagedDocument

Опции
Развертывание Target:

На этой странице
Язык:

UIManagedDocument

Наследование


Оператор импорта


Swift

import UIKit

Objective C

@import UIKit;

Доступность


Доступный в iOS 5.0 и позже.

UIManagedDocument конкретный подкласс UIDocument это интегрируется с Базовыми Данными. При инициализации управляемого документа Вы указываете URL для расположения документа. Объект документа тогда создает Базовый Стек данных для использования для доступа к персистентному хранилищу документа с помощью модели управляемого объекта от основного пакета приложения. См. Поддерживающие Основанные на документе Приложения в iCloud в Руководстве по программированию iCloud для Базовых Данных для стратегий реализации и диагностирующих шагов.

UIManagedDocument выполняет всю основную установку, в которой Вы нуждаетесь для Базовых Данных, и в некоторых случаях можно использовать экземпляры UIManagedDocument непосредственно (без потребности разделить на подклассы). Можно предоставить параметры конфигурации для создания координатора, использующего persistentStoreOptions, и для использования модели modelConfiguration. Можно также выполнить дополнительную настройку путем создания подкласса UIManagedDocument:

  • Переопределение persistentStoreName настроить имя персистентного файла хранилища в пакете файла документа.

  • Переопределение managedObjectModel настроить создание модели управляемого объекта.

    Вы делаете это, если, например, Ваша поддержка приложений многократные типы документов, каждые из которых используют различную модель. Вы хотите гарантировать, что модели не объединяются для каждого класса документа.

  • Переопределение persistentStoreTypeForFileType: настроить тип персистентного хранилища, используемого документом.

  • Переопределение configurePersistentStoreCoordinatorForURL:ofType:modelConfiguration:storeOptions:error: настроить загрузку или создание персистентного хранилища.

Ошибки из-за неправильного обращения

Чтобы позволить Вашему приложению наблюдать и обработать ошибки в сохранении и проверке управляемого документа, необходимо разделить на подклассы UIManagedDocument класс и переопределение один или оба из следующих двух унаследованных методов от UIDocument класс:

Переопределение требуется, потому что, иначе, единственная информация, которую Ваше приложение получает на ошибке, UIDocumentStateChangedNotification уведомление, не содержащее a userInfo словарь и так не передает определенную информацию об ошибке.

  • Создает или загружает персистентное хранилище документа.

    Объявление

    Swift

    func configurePersistentStoreCoordinatorForURL(_ storeURL: NSURL!, ofType fileType: String!, modelConfiguration configuration: String?, storeOptions storeOptions: [NSObject : AnyObject]?, error error: NSErrorPointer) -> Bool

    Objective C

    - (BOOL)configurePersistentStoreCoordinatorForURL:(NSURL *)storeURL ofType:(NSString *)fileType modelConfiguration:(NSString *)configuration storeOptions:(NSDictionary *)storeOptions error:(NSError **)error

    Параметры

    storeURL

    URL для персистентного хранилища.

    fileType

    Тип файла документа.

    configuration

    Конфигурация модели управляемого объекта для использования.

    storeOptions

    Опции раньше конфигурировали персистентного координатора хранилища.

    error

    По возврату, если проблема происходит, содержит ошибочный объект, описывающий проблему.

    Возвращаемое значение

    YEStrue если конфигурация успешна, иначе NOfalse.

    Обсуждение

    Можно переопределить этот метод, если Вы хотите, настраивают создание или загрузку персистентного хранилища документа. Например, можно выполнить очистку постмиграции — если приложение должно мигрировать, хранят данные для использования новой версии модели управляемого объекта, можно переопределить этот метод для создания дополнительных модификаций к хранилищу после миграции.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 5.0 и позже.

  • managedObjectContext Свойство

    Контекст управляемого объекта документа. (только для чтения)

    Объявление

    Swift

    var managedObjectContext: NSManagedObjectContext! { get }

    Objective C

    @property(nonatomic, retain, readonly) NSManagedObjectContext *managedObjectContext

    Обсуждение

    Документ автоматически создает контекст управляемого объекта с помощью своего персистентного координатора хранилища.

    Специальные замечания

    Вы не должны использовать контекст управляемого объекта документа в writeAdditionalContent:toURL:originalContentsURL:error:, или любой из асинхронных UIDocument методы.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 5.0 и позже.

  • managedObjectModel Свойство

    Модель управляемого объекта документа. (только для чтения)

    Объявление

    Swift

    var managedObjectModel: NSManagedObjectModel! { get }

    Objective C

    @property(nonatomic, retain, readonly) NSManagedObjectModel *managedObjectModel

    Обсуждение

    Персистентные документы всегда имеют модель управляемого объекта. Модель по умолчанию является объединением всех моделей в основном пакете. Можно указать конфигурацию для использования с modelConfiguration. Можно разделить на подклассы UIManagedDocument переопределять этот метод, если Вам нужно пользовательское поведение.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 5.0 и позже.

  • persistentStoreOptions Свойство

    Опции, используемые при создании персистентного хранилища документа.

    Объявление

    Swift

    var persistentStoreOptions: [NSObject : AnyObject]?

    Objective C

    @property(nonatomic, copy) NSDictionary *persistentStoreOptions

    Обсуждение

    По умолчанию это значение nil.

    Для поддержки автоматической миграции Вы могли бы передать словарь как показанный в следующем примере.

    • NSDictionary *options = @{
    • NSMigratePersistentStoresAutomaticallyOption: @YES,
    • NSInferMappingModelAutomaticallyOption: @YES
    • };
    • <#Managed document instance#>.persistentStoreOptions = options;

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 5.0 и позже.

    См. также

    managedObjectModel

  • modelConfiguration Свойство

    Конфигурация модели называет, чтобы быть переданной при конфигурировании персистентного хранилища.

    Объявление

    Swift

    var modelConfiguration: String?

    Objective C

    @property(nonatomic, copy) NSString *modelConfiguration

    Обсуждение

    По умолчанию это значение nil.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 5.0 и позже.

    См. также

    managedObjectModel

  • Возвращает Базовый Тип хранилища данных для данного типа файла документа.

    Объявление

    Swift

    func persistentStoreTypeForFileType(_ fileType: String!) -> String!

    Objective C

    - (NSString *)persistentStoreTypeForFileType:(NSString *)fileType

    Параметры

    fileType

    Тип файла документа.

    Возвращаемое значение

    Персистентное хранилище вводит для fileType.

    Обсуждение

    Переопределите этот метод для указания персистентного типа хранилища для данного типа документа.

    Возвраты по умолчанию NSSQLiteStoreType.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 5.0 и позже.

  • Дескрипторы читая неосновное содержание Данных в дополнительном каталоге содержания в пакете файла документа.

    Объявление

    Swift

    func readAdditionalContentFromURL(_ absoluteURL: NSURL, error error: NSErrorPointer) -> Bool

    Objective C

    - (BOOL)readAdditionalContentFromURL:(NSURL *)absoluteURL error:(NSError **)error

    Параметры

    absoluteURL

    URL для дополнительного каталога содержания в пакете файла документа.

    error

    По возврату, если проблема происходит, содержит ошибочный объект, описывающий проблему.

    Возвращаемое значение

    YEStrue если операция чтения успешна, иначе NOfalse.

    Обсуждение

    Вы переопределяете этот метод для чтения неосновного содержания Данных из дополнительного каталога содержания в пакете файла документа.

    При реализации этого метода он вызывается автоматически readFromURL:error:.

    Нет никакой потребности вызвать superреализация.

    Специальные замечания

    Дополнительное содержание не поддерживается на iCloud.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 5.0 и позже.

  • Дескрипторы пишущий неосновное содержание Данных в дополнительный каталог содержания в пакете файла документа.

    Объявление

    Swift

    func additionalContentForURL(_ absoluteURL: NSURL, error error: NSErrorPointer) -> AnyObject?

    Objective C

    - (id)additionalContentForURL:(NSURL *)absoluteURL error:(NSError **)error

    Параметры

    absoluteURL

    URL для дополнительного каталога содержания в пакете файла документа.

    error

    По возврату, если проблема происходит, содержит ошибочный объект, описывающий проблему.

    Возвращаемое значение

    Объект, содержащий дополнительное содержание для документа в absoluteURL, или nil если существует проблема.

    Обсуждение

    Вы переопределяете этот метод для выполнения для управления неосновным содержанием Данных, которое будет сохранено в дополнительном каталоге содержания в пакете файла документа.

    При реализации этого метода он вызывается автоматически contentsForType:error:. Возвращенный объект передается writeAdditionalContent:toURL:originalContentsURL:error:.

    Нет никакой потребности вызвать superреализация.

    Специальные замечания

    Возвращаемое значение nil указывает состояние ошибки. Чтобы избежать генерировать исключение, необходимо возвратить значение из этого метода. Если не всегда имеет место, что будет дополнительное содержание, необходимо возвратить значение сигнальной метки (например, NSNull экземпляр), что Вы проверяете на в writeAdditionalContent:toURL:originalContentsURL:error:.

    Объект, возвращенный из этого метода, передается writeAdditionalContent:toURL:originalContentsURL:error:. Поскольку writeAdditionalContent:toURL:originalContentsURL:error: выполняется на различном потоке, необходимо гарантировать, что объект, который Вы возвращаете, ориентирован на многопотоковое исполнение. Например, Вы могли бы возвратиться NSData объект, содержащий архив состояния, Вы хотите получить.

    Дополнительное содержание не поддерживается на iCloud.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 5.0 и позже.

  • Дескрипторы пишущий неосновное содержание Данных в пакет файла документа.

    Объявление

    Swift

    func writeAdditionalContent(_ content: AnyObject!, toURL absoluteURL: NSURL!, originalContentsURL absoluteOriginalContentsURL: NSURL!, error error: NSErrorPointer) -> Bool

    Objective C

    - (BOOL)writeAdditionalContent:(id)content toURL:(NSURL *)absoluteURL originalContentsURL:(NSURL *)absoluteOriginalContentsURL error:(NSError **)error

    Параметры

    content

    Объект, представляющий дополнительное содержание для документа.

    Это - объект, возвращенный из additionalContentForURL:error:.

    absoluteURL

    URL, в который можно записать дополнительное содержание.

    absoluteOriginalContentsURL

    Текущий URL сохраняющегося документа.

    error

    По возврату, если проблема происходит, содержит ошибочный объект, описывающий проблему.

    Возвращаемое значение

    YEStrue если операция записи успешна, иначе NOfalse.

    Обсуждение

    Вы переопределяете этот метод для выполнения для записи неосновного содержания Данных в дополнительном каталоге содержания в пакете файла документа. Существует несколько проблем для рассмотрения:

    • Необходимо обычно реализовывать этот метод, только если Вы также реализовали additionalContentForURL:error:.

    • Поскольку этот метод выполняется асинхронно, возможно, что состояние документа может отличаться от этого, в котором инициировалась работа сохранения. Если необходимо получить состояние документа в, экономят время, необходимо сделать так в additionalContentForURL:error:.

    • При реализации этого метода он вызывается автоматически writeContents:andAttributes:safelyToURL:forSaveOperation:error:.

    • Нет никакой потребности вызвать superреализация.

    Специальные замечания

    Дополнительное содержание не поддерживается на iCloud.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 5.0 и позже.

  • Возвращает имя для персистентного файла хранилища в пакете файла документа.

    Объявление

    Swift

    class func persistentStoreName() -> String

    Objective C

    + (NSString *)persistentStoreName

    Возвращаемое значение

    Имя для персистентного файла хранилища в пакете файла документа.

    Обсуждение

    Этот компонент контура добавляется к документу URL, предоставленный UIDocument. Имя по умолчанию persistentStore.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 5.0 и позже.