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

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

Разработчик

Ссылка платформы CoreData ссылка класса NSAtomicStore

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

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

NSAtomicStore

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


Соответствует


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


Swift

import CoreData

Objective C

@import CoreData;

Доступность


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

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

Атомарные хранилища все предназначаются для обработки наборов данных, которые могут быть выражены в памяти. Атомарное хранилище API одобряет простоту по производительности.

Разделение на подклассы примечаний

Методы для переопределения

В подклассе NSAtomicStore, необходимо переопределить следующие методы для обеспечения поведения, подходящего для хранилища:

Это в дополнение к методам, из которых необходимо переопределить для подкласса NSPersistentStore:

  • Возвращает атомарное хранилище, инициализированное с данными параметрами.

    Объявление

    Swift

    init(persistentStoreCoordinator coordinator: NSPersistentStoreCoordinator?, configurationName configurationName: String?, URL url: NSURL, options options: [NSObject : AnyObject]?)

    Objective C

    - (instancetype)initWithPersistentStoreCoordinator:(NSPersistentStoreCoordinator *)coordinator configurationName:(NSString *)configurationName URL:(NSURL *)url options:(NSDictionary *)options

    Параметры

    coordinator

    Персистентный координатор хранилища.

    configurationName

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

    url

    URL хранилища для загрузки. Это значение не должно быть nil.

    options

    Словарь, содержащий параметры конфигурации.

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

    Атомарное хранилище, инициализированное с данными параметрами, или nil если не могло бы быть инициализировано хранилище.

    Обсуждение

    Вы обычно не вызываете этот метод сами; это вызывается персистентным координатором хранилища во время addPersistentStoreWithType:configuration:URL:options:error:, когда существующее хранилище открыто, и когда новое хранилище создается и.

    В Вашей реализации необходимо проверить, существует ли файл уже в url; если это не делает, то необходимо или создать файл здесь или гарантировать что Ваш load: если файл не существует, метод не перестал работать.

    Любой подкласс NSAtomicStore должен быть в состоянии обработать быть инициализированным с URL, указывающим на файл нулевой длины. Это служит индикатором, что новое хранилище должно быть создано в указанном расположении и позволяет Вам надежно создавать файлы резервирования в известных расположениях, которые могут тогда быть переданы Базовым Данным для построения хранилищ. Можно принять решение создать файлы резервирования нулевой длины во время initWithPersistentStoreCoordinator:configurationName:URL:options: или load:. Если Вы делаете так, необходимо удалить файл резервирования, если хранилище удалено от координатора, прежде чем это будет сохранено.

    Необходимо гарантировать, чтобы Вы загрузили метаданные во время инициализации и установили его использование setMetadata:.

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

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

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

  • Загружает узлы кэша для получателя.

    Объявление

    Swift

    func load(_ error: NSErrorPointer) -> Bool

    Objective C

    - (BOOL)load:(NSError **)error

    Параметры

    error

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

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

    YEStrue если узлы кэша были загружены правильно, иначе NOfalse.

    Обсуждение

    Вы переопределяете этот метод к загрузить данные из URL, указанного в initWithPersistentStoreCoordinator:configurationName:URL:options: и создайте узлы кэша для представленных объектов. Необходимо уважать конфигурацию, указанную за хранилище, а также опции.

    Любой подкласс NSAtomicStore должен быть в состоянии обработать быть инициализированным с URL, указывающим на файл нулевой длины. Это служит индикатором, что новое хранилище должно быть создано в указанном расположении и позволяет Вам надежно создавать файлы резервирования в известных расположениях, которые могут тогда быть переданы Базовым Данным для построения хранилищ. Можно принять решение создать файлы резервирования нулевой длины во время initWithPersistentStoreCoordinator:configurationName:URL:options: или load:. Если Вы делаете так, необходимо удалить файл резервирования, если хранилище удалено от координатора, прежде чем это будет сохранено.

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

    Необходимо переопределить этот метод.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

    См. также

    – addCacheNodes:

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

    Объявление

    Swift

    func objectIDForEntity(_ entity: NSEntityDescription, referenceObject data: AnyObject) -> NSManagedObjectID

    Objective C

    - (NSManagedObjectID *)objectIDForEntity:(NSEntityDescription *)entity referenceObject:(id)data

    Параметры

    entity

    Объект описания объекта.

    data

    Справочные данные, для которых управляемый объект требуется ID.

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

    Управляемый объект ID от справочных данных для указанного объекта

    Обсуждение

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

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

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

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

    См. также

    – addCacheNodes:

  • Регистры ряд узлов кэша с получателем.

    Объявление

    Swift

    func addCacheNodes(_ cacheNodes: Set<NSObject>)

    Objective C

    - (void)addCacheNodes:(NSSet *)cacheNodes

    Параметры

    cacheNodes

    Ряд узлов кэша.

    Обсуждение

    Необходимо вызвать этот метод в подклассе во время вызова к load: зарегистрировать загруженную информацию в хранилище.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

  • Возвращает новый узел кэша для данного управляемого объекта.

    Объявление

    Swift

    func newCacheNodeForManagedObject(_ managedObject: NSManagedObject) -> NSAtomicStoreCacheNode

    Objective C

    - (NSAtomicStoreCacheNode *)newCacheNodeForManagedObject:(NSManagedObject *)managedObject

    Параметры

    managedObject

    Управляемый объект.

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

    Новый узел кэша для managedObject.

    Обсуждение

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

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

    Необходимо переопределить этот метод.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

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

    Объявление

    Swift

    func newReferenceObjectForManagedObject(_ managedObject: NSManagedObject) -> AnyObject

    Objective C

    - (id)newReferenceObjectForManagedObject:(NSManagedObject *)managedObject

    Параметры

    managedObject

    Управляемый объект. В то время, когда этот метод вызывают, он имеет временный ID.

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

    Новый ссылочный объект для managedObject.

    Обсуждение

    Этот метод вызывается платформой после работы сохранения на контексте управляемого объекта, один раз для каждого недавно вставленного управляемого объекта. Значение возвратилось, используется для создания постоянного ID для объекта и должен быть уникальным для экземпляра в иерархии наследования его объекта (в этом хранилище).

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

    Необходимо переопределить этот метод.

    Этот метод должен возвратить стабильное (неизменное) значение для данного объекта, иначе Сохранить Как, и миграция не будет работать правильно. Это означает, что можно использовать произвольные числа, UUIDs или другие случайные значения, только если они сохраняются с необработанными данными. Если Вы не можете сохранить первоначально присвоенный ссылочный объект с данными, то метод должен получить ссылочный объект из значений управляемого объекта. Для получения дополнительной информации посмотрите, что Атомарное Хранилище Программирует Темы.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

  • Обновляет данный узел кэша с помощью значений в данном управляемом объекте.

    Объявление

    Swift

    func updateCacheNode(_ node: NSAtomicStoreCacheNode, fromManagedObject managedObject: NSManagedObject)

    Objective C

    - (void)updateCacheNode:(NSAtomicStoreCacheNode *)node fromManagedObject:(NSManagedObject *)managedObject

    Параметры

    node

    Узел кэша для обновления.

    managedObject

    Управляемый объект, с которым можно обновить node.

    Обсуждение

    Этот метод вызывается платформой после работы сохранения на контексте управляемого объекта, один раз для каждого обновленного NSManagedObject экземпляр.

    Вы переопределяете этот метод в подклассе для взятия информации от managedObject и обновление node.

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

    Необходимо переопределить этот метод.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

  • Метод, вызванный перед хранилищем, удаляет данный набор узлов кэша.

    Объявление

    Swift

    func willRemoveCacheNodes(_ cacheNodes: Set<NSObject>)

    Objective C

    - (void)willRemoveCacheNodes:(NSSet *)cacheNodes

    Параметры

    cacheNodes

    Набор узлов кэша для удаления.

    Обсуждение

    Этот метод вызывается хранилищем перед вызовом к save: с набором узлов кэша, отмеченных, как удалено контекстом управляемого объекта. Можно переопределить этот метод для отслеживания узлов, которые не будут сделаны персистентными в save: метод.

    Вы не должны вызывать этот метод непосредственно в подклассе.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

    См. также

    – сохраните:

  • Сохраняет узлы кэша.

    Объявление

    Swift

    func save(_ error: NSErrorPointer) -> Bool

    Objective C

    - (BOOL)save:(NSError **)error

    Параметры

    error

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

    Обсуждение

    Вы переопределяете этот метод для создания персистентным необходимая информация от узлов кэша до URL указанный для получателя.

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

    Необходимо переопределить этот метод.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

  • Возвращает набор узлов кэша, зарегистрированных в получателе.

    Объявление

    Swift

    func cacheNodes() -> Set<NSObject>

    Objective C

    - (NSSet *)cacheNodes

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

    Набор узлов кэша зарегистрировался в получателе.

    Обсуждение

    Необходимо изменить это использование набора addCacheNodes:: и willRemoveCacheNodes:.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

  • Возвращает узел кэша для данного управляемого объекта ID.

    Объявление

    Swift

    func cacheNodeForObjectID(_ objectID: NSManagedObjectID) -> NSAtomicStoreCacheNode?

    Objective C

    - (NSAtomicStoreCacheNode *)cacheNodeForObjectID:(NSManagedObjectID *)objectID

    Параметры

    objectID

    Управляемый объект ID.

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

    Узел кэша для objectID.

    Обсуждение

    Этот метод обычно используется узлами кэша для определения местоположения связанных узлов кэша (отношениями).

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

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

    Объявление

    Swift

    func referenceObjectForObjectID(_ objectID: NSManagedObjectID) -> AnyObject

    Objective C

    - (id)referenceObjectForObjectID:(NSManagedObjectID *)objectID

    Параметры

    objectID

    Управляемый объект ID.

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

    Ссылочный объект для objectID.

    Обсуждение

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

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

  • Возвращает метаданные для получателя.

    Объявление

    Objective C

    - (NSDictionary *)metadata

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

    Метаданные для получателя.

    Обсуждение

    NSAtomicStore обеспечивает словарь по умолчанию метаданных. Этот словарь содержит тип хранилища и идентификатор (NSStoreTypeKey и NSStoreUUIDKey) а также храните информацию управления версиями. Подклассы должны гарантировать, что метаданные сохраняются вместе с данными хранилища.

    См. также

    metadata (NSPersistentStore)

  • Устанавливает метаданные для получателя.

    Объявление

    Objective C

    - (void)setMetadata:(NSDictionary *)storeMetadata

    Параметры

    storeMetadata

    Метаданные для получателя.

    См. также

    – метаданные