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 *)storeURLofType:(NSString *)fileTypemodelConfiguration:(NSString *)configurationstoreOptions:(NSDictionary *)storeOptionserror:(NSError **)errorПараметры
storeURLURL для персистентного хранилища.
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 и позже.
См. также
-
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Параметры
absoluteURLURL для дополнительного каталога содержания в пакете файла документа.
errorПо возврату, если проблема происходит, содержит ошибочный объект, описывающий проблему.
Возвращаемое значение
YEStrueесли операция чтения успешна, иначеNOfalse.Обсуждение
Вы переопределяете этот метод для чтения неосновного содержания Данных из дополнительного каталога содержания в пакете файла документа.
При реализации этого метода он вызывается автоматически
readFromURL:error:.Нет никакой потребности вызвать
superреализация.Специальные замечания
Дополнительное содержание не поддерживается на iCloud.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 5.0 и позже.
-
Дескрипторы пишущий неосновное содержание Данных в дополнительный каталог содержания в пакете файла документа.
Объявление
Swift
func additionalContentForURL(_absoluteURL: NSURL, errorerror: NSErrorPointer) -> AnyObject?Параметры
absoluteURLURL для дополнительного каталога содержания в пакете файла документа.
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:.absoluteURLURL, в который можно записать дополнительное содержание.
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() -> StringObjective C
+ (NSString *)persistentStoreNameВозвращаемое значение
Имя для персистентного файла хранилища в пакете файла документа.
Обсуждение
Этот компонент контура добавляется к документу URL, предоставленный
UIDocument. Имя по умолчаниюpersistentStore.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 5.0 и позже.
