UIManagedDocument
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSFilePresenter
-
NSObjectProtocol
-
Печатаемый
-
NSFilePresenter
-
NSObject
Оператор импорта
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
словарь и так не передает определенную информацию об ошибке.
-
configurePersistentStoreCoordinatorForURL (_: ofType:modelConfiguration:storeOptions:error:) - configurePersistentStoreCoordinatorForURL:ofType:modelConfiguration:storeOptions:error:
Создает или загружает персистентное хранилище документа.
Объявление
Swift
func configurePersistentStoreCoordinatorForURL(_
storeURL
: NSURL!, ofTypefileType
: String!, modelConfigurationconfiguration
: String?, storeOptionsstoreOptions
: [NSObject : AnyObject]?, errorerror
: NSErrorPointer) -> BoolObjective C
- (BOOL)configurePersistentStoreCoordinatorForURL:(NSURL *)
storeURL
ofType:(NSString *)fileType
modelConfiguration:(NSString *)configuration
storeOptions:(NSDictionary *)storeOptions
error:(NSError **)error
Параметры
storeURL
URL для персистентного хранилища.
fileType
Тип файла документа.
configuration
Конфигурация модели управляемого объекта для использования.
storeOptions
Опции раньше конфигурировали персистентного координатора хранилища.
error
По возврату, если проблема происходит, содержит ошибочный объект, описывающий проблему.
Возвращаемое значение
YES
true
если конфигурация успешна, иначеNO
false
.Обсуждение
Можно переопределить этот метод, если Вы хотите, настраивают создание или загрузку персистентного хранилища документа. Например, можно выполнить очистку постмиграции — если приложение должно мигрировать, хранят данные для использования новой версии модели управляемого объекта, можно переопределить этот метод для создания дополнительных модификаций к хранилищу после миграции.
Оператор импорта
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 и позже.
См. также
-
modelConfiguration
СвойствоКонфигурация модели называет, чтобы быть переданной при конфигурировании персистентного хранилища.
Объявление
Swift
var modelConfiguration: String?
Objective C
@property(nonatomic, copy) NSString *modelConfiguration
Обсуждение
По умолчанию это значение
nil
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
См. также
-
Возвращает Базовый Тип хранилища данных для данного типа файла документа.
Объявление
Параметры
fileType
Тип файла документа.
Возвращаемое значение
Персистентное хранилище вводит для
fileType
.Обсуждение
Переопределите этот метод для указания персистентного типа хранилища для данного типа документа.
Возвраты по умолчанию
NSSQLiteStoreType
.Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
-
Дескрипторы читая неосновное содержание Данных в дополнительном каталоге содержания в пакете файла документа.
Объявление
Swift
func readAdditionalContentFromURL(_
absoluteURL
: NSURL, errorerror
: NSErrorPointer) -> BoolПараметры
absoluteURL
URL для дополнительного каталога содержания в пакете файла документа.
error
По возврату, если проблема происходит, содержит ошибочный объект, описывающий проблему.
Возвращаемое значение
YES
true
если операция чтения успешна, иначеNO
false
.Обсуждение
Вы переопределяете этот метод для чтения неосновного содержания Данных из дополнительного каталога содержания в пакете файла документа.
При реализации этого метода он вызывается автоматически
readFromURL:error:
.Нет никакой потребности вызвать
super
реализация.Специальные замечания
Дополнительное содержание не поддерживается на iCloud.
Оператор импорта
Objective C
@import UIKit;
Swift
import UIKit
Доступность
Доступный в iOS 5.0 и позже.
-
Дескрипторы пишущий неосновное содержание Данных в дополнительный каталог содержания в пакете файла документа.
Объявление
Swift
func additionalContentForURL(_
absoluteURL
: NSURL, errorerror
: NSErrorPointer) -> AnyObject?Параметры
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 и позже.
-
writeAdditionalContent (_: toURL:originalContentsURL:error:) - writeAdditionalContent:toURL:originalContentsURL:error:
Дескрипторы пишущий неосновное содержание Данных в пакет файла документа.
Объявление
Параметры
content
Объект, представляющий дополнительное содержание для документа.
Это - объект, возвращенный из
additionalContentForURL:error:
.absoluteURL
URL, в который можно записать дополнительное содержание.
absoluteOriginalContentsURL
Текущий URL сохраняющегося документа.
error
По возврату, если проблема происходит, содержит ошибочный объект, описывающий проблему.
Возвращаемое значение
YES
true
если операция записи успешна, иначеNO
false
.Обсуждение
Вы переопределяете этот метод для выполнения для записи неосновного содержания Данных в дополнительном каталоге содержания в пакете файла документа. Существует несколько проблем для рассмотрения:
Необходимо обычно реализовывать этот метод, только если Вы также реализовали
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 и позже.