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

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

Разработчик

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

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

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

NSIncrementalStore

NSIncrementalStore абстрактный суперкласс, определяющий API, через который Базовые Данные связываются с хранилищем. Этот интерфейс разработан, чтобы позволить Вам создавать персистентные хранилища, загружающие и сохраняющие данные инкрементно, допуская управление большими и/или совместно используемыми наборами данных. См. Инкрементное Руководство по программированию Хранилища для стратегии реализации и методов наиболее успешной практики при реализации собственного инкрементного хранилища.

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

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

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

Нет никакой потребности переопределить методы, из которых необходимо иначе переопределить для подкласса NSPersistentStore.

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


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


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


Swift

import CoreData

Objective C

@import CoreData;

Доступность


Доступный в OS X v10.7 и позже.
  • Загружает метаданные для хранилища.

    Объявление

    Swift

    func loadMetadata(_ error: NSErrorPointer) -> Bool

    Objective C

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

    Параметры

    error

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

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

    YEStrue если метаданные были правильно загружены, иначе NOfalse.

    Обсуждение

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

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

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

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

    Объявление

    Swift

    func executeRequest(_ request: NSPersistentStoreRequest, withContext context: NSManagedObjectContext, error error: NSErrorPointer) -> AnyObject?

    Objective C

    - (id)executeRequest:(NSPersistentStoreRequest *)request withContext:(NSManagedObjectContext *)context error:(NSError **)error

    Параметры

    request

    Запрос выборки.

    context

    Контекст управляемого объекта раньше выполнялся request.

    error

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

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

    Значение как подходящее для request, или nil если не может быть завершен запрос

    Обсуждение

    Значение для возврата зависит от типа результата (см. resultType) из request:

    • Если это NSManagedObjectResultType, NSManagedObjectIDResultType, или NSDictionaryResultType, метод должен возвратить массив, содержащий все объекты в хранилище, соответствующем запрос.

    • Если это NSCountResultType, метод должен возвратить массив, содержащий NSNumber чье значение является количеством всех объектов в хранилище, соответствующем запрос.

    • Если запрос является запросом сохранения, метод должен возвратить пустой массив.

    Если запрос сохранения содержит нулевые значения для вставленных/обновленных/удаленных/заблокированных наборов; необходимо обработать его как запрос для сохранения метаданных хранилища.

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

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

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

    Объявление

    Swift

    func newValuesForObjectWithID(_ objectID: NSManagedObjectID, withContext context: NSManagedObjectContext, error error: NSErrorPointer) -> NSIncrementalStoreNode?

    Objective C

    - (NSIncrementalStoreNode *)newValuesForObjectWithID:(NSManagedObjectID *)objectID withContext:(NSManagedObjectContext *)context error:(NSError **)error

    Параметры

    objectID

    ID объекта, на который требуют значения.

    context

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

    error

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

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

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

    Обсуждение

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

    Если объект с идентификатором объекта objectID не может быть найден, метод должен возвратиться nil и — если error не NULL— создайте и возвратите надлежащий ошибочный объект в error.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

  • Возвращает отношение для данного отношения объекта с данным идентификатором объекта.

    Объявление

    Swift

    func newValueForRelationship(_ relationship: NSRelationshipDescription, forObjectWithID objectID: NSManagedObjectID, withContext context: NSManagedObjectContext?, error error: NSErrorPointer) -> AnyObject?

    Objective C

    - (id)newValueForRelationship:(NSRelationshipDescription *)relationship forObjectWithID:(NSManagedObjectID *)objectID withContext:(NSManagedObjectContext *)context error:(NSError **)error

    Параметры

    relationship

    Отношение, на которое требуют значения.

    objectID

    ID объекта, на который требуют значения.

    context

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

    error

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

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

    Значение отношения указано relationship из объекта с идентификатором объекта objectID, или nil если происходит ошибка.

    Обсуждение

    Если отношение к - один, метод должен возвратиться NSManagedObjectID экземпляр, идентифицирующий место назначения или экземпляр NSNull если значение отношения nil.

    Если отношение к - многие, метод должен возвратить объект коллекции, содержащий NSManagedObjectID экземпляры для идентификации связанных объектов. Используя NSArray экземпляр предпочтен, потому что это будет самым эффективным. Хранилище может также возвратить экземпляр NSSet или NSOrderedSet; экземпляр NSDictionary не приемлемо.

    Если объект с идентификатором объекта objectID не может быть найден, метод должен возвратиться nil и — если error не NULL— создайте и возвратите надлежащий ошибочный объект в error.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

  • Возвращает массив, содержащий идентификаторы объектов для данного массива недавно-вставленных-объектов.

    Объявление

    Swift

    func obtainPermanentIDsForObjects(_ array: [AnyObject], error error: NSErrorPointer) -> [AnyObject]?

    Objective C

    - (NSArray *)obtainPermanentIDsForObjects:(NSArray *)array error:(NSError **)error

    Параметры

    array

    Массив недавно-вставленных-объектов.

    error

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

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

    Массив, содержащий идентификаторы объектов для объектов в array.

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

    Обсуждение

    Этот метод вызывают прежде executeRequest:withContext:error: с запросом сохранения, для присвоения постоянного IDs недавно-вставленным-объектам.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

  • Возвращает идентификатор для хранилища в данном URL.

    Объявление

    Swift

    class func identifierForNewStoreAtURL(_ storeURL: NSURL) -> AnyObject

    Objective C

    + (id)identifierForNewStoreAtURL:(NSURL *)storeURL

    Параметры

    storeURL

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

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

    Идентификатор для хранилища в storeURL.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

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

    Объявление

    Swift

    func managedObjectContextDidRegisterObjectsWithIDs(_ objectIDs: [AnyObject])

    Objective C

    - (void)managedObjectContextDidRegisterObjectsWithIDs:(NSArray *)objectIDs

    Параметры

    objectIDs

    Массив идентификаторов объектов.

    Обсуждение

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

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

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

    Объявление

    Swift

    func managedObjectContextDidUnregisterObjectsWithIDs(_ objectIDs: [AnyObject])

    Objective C

    - (void)managedObjectContextDidUnregisterObjectsWithIDs:(NSArray *)objectIDs

    Параметры

    objectIDs

    Массив идентификаторов объектов.

    Обсуждение

    Этот метод является дубликатом к managedObjectContextDidRegisterObjectsWithIDs:.

    Передача идентификатора объекта в массиве идентификаторов объектов managedObjectContextDidRegisterObjectsWithIDs: сродни постепенному увеличению подсчета ссылок идентификатора объекта 1; передача идентификатора объекта в массиве идентификаторов объектов managedObjectContextDidUnregisterObjectsWithIDs: сродни постепенному уменьшению подсчета ссылок идентификатора объекта 1. Только, когда подсчет ссылок идентификатора объекта не является 0 никакими контекстами, указывают, что они используют соответствующий управляемый объект. (Идентификаторы объектов запускаются с подсчета ссылок 0.)

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

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

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

    Объявление

    Swift

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

    Objective C

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

    Параметры

    entity

    Объект для нового идентификатора объекта.

    data

    Объект типа NSString или NSNumber использовать в качестве ключа.

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

    Новый идентификатор объекта для экземпляра объекта, указанного entity и это использует data как ключ.

    Обсуждение

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

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

  • Возвращается справочные данные раньше создавали данный идентификатор объекта.

    Объявление

    Swift

    func referenceObjectForObjectID(_ objectID: NSManagedObjectID) -> AnyObject

    Objective C

    - (id)referenceObjectForObjectID:(NSManagedObjectID *)objectID

    Параметры

    objectID

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

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

    Справочные данные раньше создавали, возразил.

    Обсуждение

    Этот метод повышает NSInvalidArgumentException если идентификатор объекта не создавался хранилищем получения.

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

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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