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

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

Разработчик

Ссылка платформы AppKit ссылка класса NSPersistentDocument

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

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

NSPersistentDocument

NSPersistentDocument класс является подклассом NSDocument это разработано для простой интеграции в Базовую платформу Данных. Это обеспечивает методы для доступа ко всего документа NSManagedObjectContext объект, и обеспечивает реализации по умолчанию методов, чтобы считать и записать файлы с помощью платформы персистентности. В персистентном документе менеджер по отмене функциональность принята контекстом управляемого объекта.

Стандартное поведение документа реализовано следующим образом:

  • Открытие документа вызывает configurePersistentStoreCoordinatorForURL:ofType:modelConfiguration:storeOptions:error: с новым URL, и добавляет хранилище типа по умолчанию (XML). Объекты загружаются из персистентного хранилища по требованию через контекст документа.

  • Сохранение нового документа добавляет хранилище типа по умолчанию с выбранным URL и вызывает, сохраните: на контексте. Для существующего документа сохранение просто вызывает save: на контексте.

  • Сохраните Что касается нового документа, просто вызывает, сохраняют. Для открытого документа это перемещает персистентное хранилище на новый URL и вызывает save: на контексте.

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

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

Можно настроить архитектуру штабеля персистентности путем переопределения методов managedObjectModel и configurePersistentStoreCoordinatorForURL:ofType:modelConfiguration:storeOptions:error:. Вы могли бы хотеть сделать это, например, указать определенную модель управляемого объекта.

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


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


Swift

import AppKit

Objective C

@import AppKit;

Доступность


Доступный в OS X v10.4 и позже.
  • Контекст управляемого объекта для документа.

    Объявление

    Swift

    var managedObjectContext: NSManagedObjectContext!

    Objective C

    @property(strong) NSManagedObjectContext *managedObjectContext

    Обсуждение

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

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.4 и позже.

    См. также

    managedObjectModel

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

    Объявление

    Swift

    var managedObjectModel: AnyObject! { get }

    Objective C

    @property(readonly, strong) id managedObjectModel

    Обсуждение

    По умолчанию Базовая платформа Данных создает объединенную модель из всех моделей в комплекте приложений ([NSBundle mainBundle]). Можно повторно реализовать это свойство и возвратить определенную модель для использования для создания персистентных хранилищ. Типичная реализация могла бы включать код, подобный следующему фрагменту:

    • NSBundle *bundle = [NSBundle bundleForClass:[self class]];
    • NSString *path = [bundle pathForResource:@"MyModel" ofType:@"mom"];
    • NSURL *url = [NSURL fileURLWithPath:path];
    • NSManagedObjectModel *model = [[NSManagedObjectModel alloc] initWithContentsOfURL:url];

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

    В приложениях основывался на OS X v10.4, по умолчанию Базовая платформа Данных создает объединенную модель из всех моделей, найденных в комплекте приложений и платформах, против которых соединяется приложение.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.4 и позже.

    См. также

    managedObjectContext

  • Конфигурирует персистентного координатора хранилища получателя с надлежащими хранилищами для данного URL.

    Объявление

    Swift

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

    Objective C

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

    Параметры

    url

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

    fileType

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

    configuration

    Имя конфигурации модели управляемого объекта для использования. (Модель управляемого объекта связана с персистентным координатором хранилища.) Передача nil если Вы не хотите указывать конфигурацию.

    storeOptions

    Опции для хранилища. См. “Опции Хранилища” в NSPersistentStoreCoordinator для возможных значений.

    error

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

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

    YEStrue если метод завершается успешно, иначе NOfalse.

    Обсуждение

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

    • [[self managedObjectContext] persistentStoreCoordinator];

    Можно переопределить этот метод для создания хранилища для сохранения к или загрузка из (вызванный из другого NSDocument методы к файлам чтения-записи), который предоставляет разработчикам возможность загрузить/сохранить из/в различные персистентные типы хранилища (тип по умолчанию является XML).

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.5 и позже.

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

    Объявление

    Swift

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

    Objective C

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

    Параметры

    fileType

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

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

    Тип персистентного хранилища связался с fileType. Для возможных значений посмотрите NSPersistentStoreCoordinator.

    Обсуждение

    Вы устанавливаете персистентный тип хранилища в списке свойств приложения.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.4 и позже.

  • Возвраты YEStrue.

    Объявление

    Objective C

    - (BOOL)hasUndoManager

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

    YEStrue.

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

    Вы не должны переопределять этот метод.

    См. также

    – managedObjectContext

  • Переопределенный, чтобы быть нет.

    Объявление

    Objective C

    - (void)setHasUndoManager:(BOOL)flag

    Параметры

    flag

    Это значение проигнорировано.

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

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

    См. также

    – managedObjectContext

  • Переопределенный, чтобы быть нет.

    Объявление

    Objective C

    - (void)setUndoManager:(NSUndoManager *)undoManager

    Параметры

    undoManager

    Это значение проигнорировано.

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

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

    См. также

    – managedObjectContext

  • Возвращает булево значение, указывающее, отменил ли контекст управляемого объекта получателя или редакторы, зарегистрированные в контексте, фиксацию изменений.

    Объявление

    Objective C

    - (BOOL)isDocumentEdited

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

    YEStrue если контекст управляемого объекта получателя или редакторы, зарегистрированные в контексте, отменил фиксацию изменений, иначе NOfalse.

    См. также

    – managedObjectContext

  • Устанавливает содержание получателя путем чтения из файла данного типа, расположенного данным URL.

    Объявление

    Swift

    func readFromURL(_ absoluteURL: NSURL!, ofType typeName: String!, error outError: NSErrorPointer) -> Bool

    Objective C

    - (BOOL)readFromURL:(NSURL *)absoluteURL ofType:(NSString *)typeName error:(NSError **)outError

    Параметры

    absoluteURL

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

    typeName

    Тип документа в absoluteURL.

    outError

    Если absoluteURL не допустимо, или хранилище в absoluteURL не может быть считан, по возврату содержит NSError объект, описывающий проблему

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

    YEStrue если absoluteURL допустимо, и файл читается правильно, иначе NOfalse.

    Обсуждение

    Этот метод устанавливает URL для хранилища постоянного объекта, связанного с контекстом управляемого объекта получателя к absoluteURL.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.4 и позже.

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

    Объявление

    Swift

    func revertToContentsOfURL(_ inAbsoluteURL: NSURL!, ofType inTypeName: String!, error outError: NSErrorPointer) -> Bool

    Objective C

    - (BOOL)revertToContentsOfURL:(NSURL *)inAbsoluteURL ofType:(NSString *)inTypeName error:(NSError **)outError

    Параметры

    inAbsoluteURL

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

    inTypeName

    Тип документа в inAbsoluteURL.

    outError

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

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

    YEStrue если метод завершается правильно, иначе NOfalse.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.4 и позже.

  • Сохраняет изменения в контексте управляемого объекта документа и сохраняет персистентное хранилище документа к данному URL.

    Объявление

    Swift

    func writeToURL(_ absoluteURL: NSURL!, ofType typeName: String!, forSaveOperation saveOperation: NSSaveOperationType, originalContentsURL absoluteOriginalContentsURL: NSURL!, error error: NSErrorPointer) -> Bool

    Objective C

    - (BOOL)writeToURL:(NSURL *)absoluteURL ofType:(NSString *)typeName forSaveOperation:(NSSaveOperationType)saveOperation originalContentsURL:(NSURL *)absoluteOriginalContentsURL error:(NSError **)error

    Параметры

    absoluteURL

    URL, указывающий новое расположение для хранилища документа. Это не должен быть относительный URL.

    typeName

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

    saveOperation

    Тип работы сохранения. Посмотрите раздел «Constants» в NSDocument для возможных значений.

    absoluteOriginalContentsURL

    URL, указывающий расположение хранилища оригинала документа.

    error

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

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

    YEStrue если сохранение завершается правильно, иначе NOfalse.

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

    Objective C

    @import AppKit;

    Swift

    import AppKit

    Доступность

    Доступный в OS X v10.4 и позже.

  • Возвраты NOfalse.

    Объявление

    Objective C

    - (BOOL)canAsynchronouslyWriteToURL:(NSURL *)url ofType:(NSString *)typeName forSaveOperation:(NSSaveOperationType)saveOperation

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

    NOfalse.

    Обсуждение

    NSPersistentDocument не поддерживает асинхронные операции сохранения. Вы не должны переопределять этот метод.

  • Конфигурирует персистентного координатора хранилища получателя для данного URL и типа документа.

    Оператор осуждения

    Использовать configurePersistentStoreCoordinatorForURL:ofType:modelConfiguration:storeOptions:error: вместо этого.

    Объявление

    Objective C

    - (BOOL)configurePersistentStoreCoordinatorForURL:(NSURL *)url ofType:(NSString *)fileType error:(NSError **)error

    Параметры

    url

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

    fileType

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

    error

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

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

    YEStrue если метод завершается успешно, иначе NOfalse.

    Обсуждение

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

    • [[self managedObjectContext] persistentStoreCoordinator];

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

    Objective C

    @import AppKit;

    Доступность

    Доступный в OS X v10.4 и позже.

    Осуждаемый в OS X v10.5.