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

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

Разработчик

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

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

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

NSManagedObject

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


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


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


Swift

import CoreData

Objective C

@import CoreData;

Доступность


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

NSManagedObject универсальный класс, реализующий все основное поведение, требуемое Базового объекта Модели данных. Не возможно использовать экземпляры прямых подклассов NSObject (или любой другой класс, не наследовавшийся от NSManagedObject) с контекстом управляемого объекта. Можно создать пользовательские подклассы NSManagedObject, несмотря на то, что это не всегда требуется. Если никакая пользовательская логика не необходима, полный граф объектов может быть сформирован с NSManagedObject экземпляры.

Управляемый объект связан с описанием объекта (экземпляр NSEntityDescription) это обеспечивает метаданные об объекте (включая имя объекта, который объект представляет и имена его атрибутов и отношений), и с контекстом управляемого объекта, отслеживающим изменения в графе объектов. Важно, чтобы управляемый объект был должным образом сконфигурирован для использования с Базовыми Данными. При инстанцировании управляемого объекта непосредственно необходимо вызвать определяемый инициализатор (initWithEntity:insertIntoManagedObjectContext:).

Хранение данных

В некотором отношении, NSManagedObject действия как словарь — это - универсальный контейнерный объект, эффективно обеспечивающий хранение для свойств, определенных его связанным NSEntityDescription объект. NSManagedObject предоставляет поддержку для диапазона общих типов для значений атрибута, включая строку, дату и число (см. NSAttributeDescription для полного изложения). Нет поэтому обычно никакой потребности определить переменные экземпляра в подклассах. Иногда, однако, Вы хотите использовать типы, не поддерживающиеся непосредственно, такие как цвета и структуры C. Например, в графическом приложении Вы могли бы хотеть определить Прямоугольный объект, имеющий цвет атрибутов и границы, которые являются экземпляром NSColor и NSRect структура соответственно. Для некоторых типов можно использовать поддающийся преобразованию атрибут для других, из которых это может потребовать, чтобы Вы создали подкласс NSManagedObject— посмотрите нестандартные персистентные атрибуты.

Сбой

Управляемые объекты обычно представляют данные, сохраненные в персистентном хранилище. В некоторых ситуациях управляемый объект может быть «отказом» — объект, значения свойств которого еще не были загружены из внешнего хранилища данных — дополнительную информацию см. в Faulting и Uniquing. При доступе к персистентным значениям свойств отказ «огни» и данные получен от хранилища автоматически. Это может быть сравнительно дорогим процессом (потенциально требующий цикла обработки к персистентному хранилищу), и можно хотеть избежать излишне запускать отказ.

Можно безопасно вызвать следующие методы на отказ, не заставляя его стрелять: isEqual:, hash, superclass, class, self, isProxy, isKindOfClass:, isMemberOfClass:, conformsToProtocol:, respondsToSelector:, description, managedObjectContext, entity, objectID, isInserted, isUpdated, isDeleted, faultingState, и isFault. С тех пор isEqual и hash не заставляйте отказ стрелять, управляемые объекты могут обычно помещаться в наборы, не запуская отказ. Отметьте, однако, что вызов методов кодирования значения ключа на объекте коллекции мог бы поочередно привести к вызову valueForKey: на управляемом объекте, который запустил бы отказ.

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

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

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

Методы Вы не Должны Переопределять

NSManagedObject самостоятельно настраивает много функций NSObject так, чтобы управляемые объекты могли быть должным образом интегрированы в Базовую Информационную инфраструктуру. Базовые Данные полагаются NSManagedObjectреализация следующих методов, которые Вы поэтому абсолютно не должны переопределять: primitiveValueForKey:, setPrimitiveValue:forKey:, isEqual:, hash, superclass, class, self, isProxy, isKindOfClass:, isMemberOfClass:, conformsToProtocol:, respondsToSelector:, managedObjectContext, entity, objectID, isInserted, isUpdated, isDeleted, и isFault, alloc, allocWithZone:, new, instancesRespondToSelector:, instanceMethodForSelector:, methodForSelector:, methodSignatureForSelector:, instanceMethodSignatureForSelector:, или isSubclassOfClass:.

Методы Вы Отговорены Переопределить

Как с любым классом, Вы строго отговорены переопределить методы наблюдения значения ключа такой как willChangeValueForKey: и didChangeValueForKey:withSetMutation:usingObjects:. Вы отговорены переопределить description— если этот метод запускает отказ во время работы отладки, результаты могут быть непредсказуемыми. Вы также отговорены переопределить initWithEntity:insertIntoManagedObjectContext:, или dealloc. Изменение значений в initWithEntity:insertIntoManagedObjectContext: метод не будет замечен контекстом и если Вы не осторожны, те изменения не могут быть сохранены. Большая часть настройки инициализации должна быть выполнена в одном из awake… методы. Если Вы действительно переопределяете initWithEntity:insertIntoManagedObjectContext:, необходимо удостовериться, что Вы придерживаетесь требований, определенных в описании метода (см. initWithEntity:insertIntoManagedObjectContext:).

Вы отговорены переопределить dealloc потому что didTurnIntoFault обычно лучшее время для очистки значений — в отношении управляемого объекта нельзя предъявить претензии в течение некоторого времени после того, как он был превращен в отказ. Базовые Данные не гарантируют это dealloc будет вызван во всех сценариях (такой как тогда, когда приложение выходит); Вы должны поэтому не в этих методах включать требуемые побочные эффекты (как сохранение или изменения в файловой системе, пользовательских настройках, и т.д.).

Таким образом, для initWithEntity:insertIntoManagedObjectContext: и dealloc, важно помнить, что Базовые Данные резервируют монопольное управление жизненным циклом управляемого объекта (т.е. необработанное управление памятью). Это - то, так, чтобы платформа была в состоянии обеспечить функции, такие как uniquing и обслуживанием отношения последствия, а также намного лучшей производительностью, чем было бы иначе возможно.

Методы для переопределения соображений

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

  • initWithEntity:insertIntoManagedObjectContext:

  • didTurnIntoFault

  • willTurnIntoFault

  • dealloc

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

Пользовательские методы доступа

Как правило, нет никакой потребности записать пользовательские методы доступа для свойств, определяющихся в объекте соответствующей модели управляемого объекта управляемого объекта. Если Вы желаете или нуждаетесь для этого, хотя, существует несколько образцов реализации, необходимо следовать. Они описаны в Методах доступа Управляемого объекта в Базовом Руководстве по программированию Данных.

Базовые Данные автоматически генерируют методы доступа (и примитивные методы доступа) для Вас. Для атрибутов и к - отношения, Базовые Данные генерируют стандарт, получают и устанавливают методы доступа; поскольку к - много отношений, Базовые Данные генерируют индексируемые методы доступа, как описано в Значении ключа, Кодирующем Методы доступа в Значении ключа, Кодирующем Руководство по программированию. Действительно, однако, необходимо объявить, что методы доступа или свойства Objective-C использования подавляют предупреждения компилятора. Для полного обсуждения посмотрите Методы доступа Управляемого объекта в Базовом Руководстве по программированию Данных.

Пользовательские переменные экземпляра

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

NSManagedObject предоставляет поддержку для диапазона общих типов для значений атрибута, включая строку, дату и число (см. NSAttributeDescription для полного изложения). Если Вы хотите использовать типы, не поддерживающиеся непосредственно, такие как цвета и структуры C, можно или использовать поддающиеся преобразованию атрибуты или создать подкласс NSManagedObject, как описано в Нестандартных Персистентных Атрибутах.

Иногда может быть удобно представлять переменные как скаляры — в получении приложения, например, где переменные представляют размерности и координаты x и y и часто используются в вычислениях. Для представления атрибутов как скаляров Вы объявляете переменные экземпляра, как Вы были бы в любом другом классе. Также необходимо реализовать подходящие методы доступа, как описано в Методах доступа Управляемого объекта.

При определении пользовательских переменных экземпляра, например, для хранения полученных атрибутов или других переходных свойств, необходимо очистить эти переменные в didTurnIntoFault вместо dealloc.

Методы проверки

NSManagedObject обеспечивает непротиворечивые рычаги для проверки значений свойств и межзначений свойств. Вы обычно не должны переопределять validateValue:forKey:error:, вместо этого необходимо реализовать методы формы validate<Key>:error:, как определено NSKeyValueCoding протокол. Если Вы хотите проверить межзначения свойств, можно переопределить validateForUpdate: и/или связанные методы проверки.

Вы не должны вызывать validateValue:forKey:error: в пользовательских методах проверки свойства — если Вы делаете так, Вы создадите бесконечный цикл когда validateValue:forKey:error: вызывается во время выполнения. При реализации пользовательских методов проверки Вы не должны обычно вызывать их непосредственно. Вместо этого необходимо вызвать validateValue:forKey:error: с надлежащим ключом. Это гарантирует, что применяются любые ограничения, определенные в модели управляемого объекта.

Если Вы реализуете пользовательские методы проверки межсвойства (такой как validateForUpdate:), необходимо вызвать реализацию суперкласса сначала. Это гарантирует, что также вызываются отдельные методы проверки свойства. Если существуют многократные отказы проверки в одной работе, необходимо собрать их в массиве и добавить массив — использование ключа NSDetailedErrorsKey— к userInfo словарю в NSError возразите, что Вы возвращаетесь. Для примера посмотрите Проверку Управляемого объекта.

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

    Объявление

    Swift

    init(entity entity: NSEntityDescription, insertIntoManagedObjectContext context: NSManagedObjectContext?)

    Objective C

    - (instancetype)initWithEntity:(NSEntityDescription *)entity insertIntoManagedObjectContext:(NSManagedObjectContext *)context

    Параметры

    entity

    Объект которого можно создать экземпляр.

    Модель связалась с contextперсистентный координатор хранилища должен содержать entity.

    context

    Контекст, в который вставляется новый экземпляр.

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

    Инициализированный экземпляр надлежащего класса для entity.

    Обсуждение

    NSManagedObject использует динамическую генерацию класса для поддержки Objective C 2 функции свойств (см. Заявленные Свойства) путем автоматического создания подкласса класса, подходящего для entity. initWithEntity:insertIntoManagedObjectContext: поэтому возвращает экземпляр надлежащего класса для entity. Динамично сгенерированный подкласс будет основываться на классе, указанном объектом, так указание, что пользовательский класс в Вашей модели заменит класс, переданный alloc.

    Если context не nil, этот метод вызывает [context insertObject:self] (который заставляет awakeFromInsert быть вызванным).

    Вы отговорены переопределить этот метод — необходимо вместо этого переопределить awakeFromInsert и/или awakeFromFetch (если существует логика, характерная для этих методов, это должен быть factored в третий метод, вызывающийся от обоих). При выполнении пользовательской инициализации в этом методе можно вызвать проблемы с отменой и восстановить операции.

    Во многих приложениях нет никакой потребности впоследствии присвоиться, недавно создаваемый управляемый объект к определенному хранилищу — посмотрите assignObject:toPersistentStore:. Если Ваше приложение имеет сети магазинов, и действительно необходимо присвоить объект определенному хранилищу, Вы не должны делать так в методе инициализатора управляемого объекта. Такое присвоение является контроллером - не логика уровня модели.

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

    Если Вы переопределяете initWithEntity:insertIntoManagedObjectContext:, необходимо гарантировать, что Вы устанавливаете self к возвращаемому значению от вызова superреализация, как показано в следующем примере:

    • - (id)initWithEntity:(NSEntityDescription*)entity insertIntoManagedObjectContext:(NSManagedObjectContext*)context
    • {
    • self = [super initWithEntity:entity insertIntoManagedObjectContext:context];
    • if (self != nil) {
    • // Perform additional initialization.
    • }
    • return self;
    • }

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

  • entity Свойство

    Описание объекта получателя. (только для чтения)

    Объявление

    Swift

    var entity: NSEntityDescription { get }

    Objective C

    @property(nonatomic, readonly, strong) NSEntityDescription *entity

    Обсуждение

    Если получатель является отказом, получение доступ к этому свойству не заставляет его стрелять.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

  • objectID Свойство

    Идентификатор объекта получателя. (только для чтения)

    Объявление

    Swift

    var objectID: NSManagedObjectID { get }

    Objective C

    @property(nonatomic, readonly, strong) NSManagedObjectID *objectID

    Обсуждение

    Если получатель является отказом, получение доступ к этому свойству не заставляет его стрелять.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

    См. также

    URIRepresentation (NSManagedObjectID)

  • Возвращает получатель.

    Объявление

    Objective C

    - (id)self

    Обсуждение

    Подклассы не должны переопределять этот метод.

    Примечание для разработчиков EOF: Базовые Данные не полагаются на этот метод для сбоя — посмотрите вместо этого willAccessValueForKey:.

  • managedObjectContext Свойство

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

    Объявление

    Swift

    unowned(unsafe) var managedObjectContext: NSManagedObjectContext? { get }

    Objective C

    @property(nonatomic, readonly, assign) NSManagedObjectContext *managedObjectContext

    Обсуждение

    Может быть nil если получатель был удален из его контекста.

    Если получатель является отказом, получение доступ к этому свойству не заставляет его стрелять.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

  • hasChanges Свойство

    Булево значение, указывающее, был ли получатель вставлен, было удалено или не сохранило изменения. (только для чтения)

    Объявление

    Swift

    var hasChanges: Bool { get }

    Objective C

    @property(nonatomic, readonly) BOOL hasChanges

    Обсуждение

    YEStrue если получатель был вставлен, был удален или не сохранил изменения, иначе NOfalse. Результатом является эквивалент осуществления операции ИЛИ значения inserted, deleted, и updated.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

  • inserted Свойство

    Булево значение, указывающее, был ли получатель вставлен в контекст управляемого объекта. (только для чтения)

    Объявление

    Swift

    var inserted: Bool { get }

    Objective C

    @property(nonatomic, getter=isInserted, readonly) BOOL inserted

    Обсуждение

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

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

  • updated Свойство

    Булево значение, указывающее, не сохранил ли получатель изменения. (только для чтения)

    Объявление

    Swift

    var updated: Bool { get }

    Objective C

    @property(nonatomic, getter=isUpdated, readonly) BOOL updated

    Обсуждение

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

    Если получатель является отказом, получение доступ к этому свойству не заставляет его стрелять.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

  • deleted Свойство

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

    Объявление

    Swift

    var deleted: Bool { get }

    Objective C

    @property(nonatomic, getter=isDeleted, readonly) BOOL deleted

    Обсуждение

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

    Если получатель является отказом, получение доступ к этому свойству не заставляет его стрелять.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

  • fault Свойство

    Булево значение, указывающее, является ли получатель отказом. (только для чтения)

    Объявление

    Swift

    var fault: Bool { get }

    Objective C

    @property(nonatomic, getter=isFault, readonly) BOOL fault

    Обсуждение

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

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

    Если получатель является отказом, получение доступ к этому свойству не заставляет его стрелять.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

  • faultingState Свойство

    Дающее сбой состояние получателя. (только для чтения)

    Объявление

    Swift

    var faultingState: Int { get }

    Objective C

    @property(nonatomic, readonly) NSUInteger faultingState

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

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

    Обсуждение

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

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

    См. также

    отказ

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

    Объявление

    Swift

    func hasFaultForRelationshipNamed(_ key: String) -> Bool

    Objective C

    - (BOOL)hasFaultForRelationshipNamed:(NSString *)key

    Параметры

    key

    Имя одного из отношений получателя.

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

    YEStrue если отношение для для ключа key отказ, иначе NOfalse.

    Обсуждение

    Если указанное отношение является отказом, вызывание этого метода не приводит к увольнению отказа.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

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

    Объявление

    Swift

    class func contextShouldIgnoreUnmodeledPropertyChanges() -> Bool

    Objective C

    + (BOOL)contextShouldIgnoreUnmodeledPropertyChanges

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

    NOfalse если несмоделированное свойство изменяется, иначе, если экземпляры класса должны быть отмечены как имеющие изменения YEStrue.

    Обсуждение

    Значение по умолчанию YEStrue.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

    См. также

    – changedValuesForCurrentEvent
    hasChanges (NSManagedObjectContext)

  • Вызванный автоматически Базовой платформой Данных после того, как получатель был выбран.

    Объявление

    Swift

    func awakeFromFetch()

    Objective C

    - (void)awakeFromFetch

    Обсуждение

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

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

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

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

    Объявление

    Swift

    func awakeFromInsert()

    Objective C

    - (void)awakeFromInsert

    Обсуждение

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

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

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

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

    Вы обычно отговариваетесь выполнить выборки в реализации awakeFromInsert. Несмотря на то, что это позволяется, выполнение запроса выборки может инициировать отправку внутренних Базовых уведомлений Данных, которые могут иметь нежелательные побочные эффекты. Например, в OS X, экземпляре NSArrayController может закончить тем, что вставил новый объект в довольный массив дважды.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

  • Вызванный автоматически Базовой платформой Данных, когда получатель сбрасывается вследствие отмены, восстановления или другого изменения состояния мультисвойства.

    Объявление

    Swift

    func awakeFromSnapshotEvents(_ flags: NSSnapshotEventType)

    Objective C

    - (void)awakeFromSnapshotEvents:(NSSnapshotEventType)flags

    Параметры

    flags

    Немного маски didChangeValueForKey: константы для обозначения события или событий, приведших к вызываемому методу.

    Для возможных значений посмотрите NSSnapshotEventType.

    Обсуждение

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

    Если Вы хотите установить значения атрибута и должны избежать испускать уведомления изменения наблюдения значения ключа, необходимо использовать примитивные методы доступа (также setPrimitiveValue:forKey: или — лучше — надлежащие пользовательские примитивные средства доступа). Это гарантирует, что новые значения обрабатываются, поскольку базовая линия оценивает вместо того, чтобы быть зарегистрированной как невыполнимые изменения для рассматриваемых свойств.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

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

    Объявление

    Swift

    func changedValues() -> [NSObject : AnyObject]

    Objective C

    - (NSDictionary *)changedValues

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

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

    Обсуждение

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

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

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

    Объявление

    Swift

    func changedValuesForCurrentEvent() -> [NSObject : AnyObject]

    Objective C

    - (NSDictionary *)changedValuesForCurrentEvent

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

    Словарь, ключи которого являются именами персистентных свойств, изменившихся начиная с последней регистрации NSManagedObjectContextObjectsDidChangeNotification, и чьи значения являются старым значением персистентных свойств.

    Обсуждение

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

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

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

    Объявление

    Swift

    func committedValuesForKeys(_ keys: [AnyObject]?) -> [NSObject : AnyObject]

    Objective C

    - (NSDictionary *)committedValuesForKeys:(NSArray *)keys

    Параметры

    keys

    Массив, содержащий имена свойств получателя, или nil.

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

    Словарь, содержащий последние выбранные или сохраненные значения получателя для свойств, указанных keys.

    Обсуждение

    nil значения представлены экземпляром NSNull.

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

    Можно вызвать этот метод с keys значение nil получать фиксировавшие значения для свойств всего получателя, как проиллюстрировано следующим примером.

    • NSDictionary *allCommittedValues =
    •         [aManagedObject committedValuesForKeys:nil];

    Более эффективно использовать nil чем передать массив всех ключей свойства.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

  • Вызванный автоматически Базовой платформой Данных, когда получатель собирается быть удаленным.

    Объявление

    Swift

    func prepareForDeletion()

    Objective C

    - (void)prepareForDeletion

    Обсуждение

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

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

  • Освобождает память, занятую получателем.

    Объявление

    Objective C

    - (void)dealloc

    Обсуждение

    Этот метод сначала вызывает didTurnIntoFault.

    Вы не должны обычно переопределять этот метод — вместо этого необходимо поместить код «очистки» в prepareForDeletion или didTurnIntoFault.

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

    Объявление

    Swift

    func willSave()

    Objective C

    - (void)willSave

    Обсуждение

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

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

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

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

    Смысл «сохранения» в имени метода является смыслом оператора фиксации базы данных и так применяется к удалениям, а также к обновлениям к объектам. Для подклассов этот метод является поэтому надлежащим местоположением для кода, который будет выполняться, когда объект удалил, а также «сохранил на диск». Можно узнать, отмечен ли объект для удаления с isDeleted.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

    См. также

    – didSave

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

    Объявление

    Swift

    func didSave()

    Objective C

    - (void)didSave

    Обсуждение

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

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

    Смысл «сохранения» в имени метода является смыслом оператора фиксации базы данных и так применяется к удалениям, а также к обновлениям к объектам. Для подклассов этот метод является поэтому надлежащим местоположением для кода, который будет выполняться, когда объект удалил, а также «сохранил на диск». Можно узнать, отмечен ли объект для удаления с isDeleted.

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

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

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

    См. также

    – willSave

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

    Объявление

    Swift

    func willTurnIntoFault()

    Objective C

    - (void)willTurnIntoFault

    Обсуждение

    Этот метод является компаньоном didTurnIntoFault метод. Можно использовать его для (ре) состояние набора, требующее доступа к значениям свойств (например, наблюдатели через ключевые пути). Реализация по умолчанию ничего не делает.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

    См. также

    – didTurnIntoFault

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

    Объявление

    Swift

    func didTurnIntoFault()

    Objective C

    - (void)didTurnIntoFault

    Обсуждение

    Вы используете этот метод для убирания пользовательских кэшей данных — переходные значения, объявленные, поскольку свойства объекта обычно уже убираются к тому времени, когда этот метод вызывается (см., например, refreshObject:mergeChanges:).

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

    См. также

    – willTurnIntoFault

  • Возвращает значение для свойства, указанного key.

    Объявление

    Swift

    func valueForKey(_ key: String) -> AnyObject?

    Objective C

    - (id)valueForKey:(NSString *)key

    Параметры

    key

    Имя одного из свойств получателя.

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

    Значение свойства, указанного key.

    Обсуждение

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

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

  • Устанавливает указанное свойство получателя к указанному значению.

    Объявление

    Swift

    func setValue(_ value: AnyObject?, forKey key: String)

    Objective C

    - (void)setValue:(id)value forKey:(NSString *)key

    Параметры

    value

    Новое значение для свойства, указанного key.

    key

    Имя одного из свойств получателя.

    Обсуждение

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

    Этот метод переопределяется NSManagedObject получить доступ к универсальному хранению словаря управляемого объекта, если класс получателя явно не обеспечивает значение ключа, кодирующее совместимые методы доступа для key.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

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

    Объявление

    Objective C

    - (NSMutableSet *)mutableSetValueForKey:(NSString *)key

    Параметры

    key

    Имя одного из получателя к - много отношений.

    Обсуждение

    Если key не свойство, определенное моделью, метод повышает исключение.

    Этот метод переопределяется NSManagedObject получить доступ к универсальному хранению словаря управляемого объекта, если класс получателя явно не обеспечивает значение ключа, кодирующее совместимые методы доступа для key.

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

    По причинам производительности, объект прокси, возвращенный управляемыми объектами для mutableSetValueForKey: не поддерживает set<Key>: методы set стиля для отношений. Например, если Вы имеете к - многие отношение employees из класса Отдела и методов доступа реализации employees и setEmployees:, тогда управляйте отношением с помощью объекта прокси, возвращенного mutableSetValueForKey:@"employees", setEmployees: не вызывается. Необходимо реализовать другие непостоянные переопределения средства доступа прокси вместо этого (см. Методы доступа Управляемого объекта в Базовом Руководстве по программированию Данных).

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

    Объявление

    Swift

    func primitiveValueForKey(_ key: String) -> AnyObject?

    Objective C

    - (id)primitiveValueForKey:(NSString *)key

    Параметры

    key

    Имя одного из свойств получателя.

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

    Значение свойства, указанного key. Возвраты nil если не было установлено никакое значение.

    Обсуждение

    Этот метод не вызывает методы уведомления доступа (willAccessValueForKey: и didAccessValueForKey:). Этот метод используется прежде всего подклассами, реализующими пользовательские методы доступа, для которых нужен прямой доступ к частному хранению получателя.

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

    Подклассы не должны переопределять этот метод.

    Следующие моменты также применяются:

    • Примитивные методы доступа только поддерживаются на смоделированных свойствах. При вызове примитивного средства доступа на несмоделированное свойство это будет вместо этого работать на случайное смоделированное свойство. (Библиотеки отладки и платформы (доступный от веб-сайта Разработчика Apple) имеют утверждения для тестирования на передачу несмоделированных ключей к этим методам.)

    • Вы строго призваны использовать динамично сгенерированные средства доступа вместо того, чтобы использовать этот метод непосредственно (например, primitiveName: вместо primitiveValueForKey:@"name"). Динамические средства доступа намного более эффективны, и позволяют время компиляции проверять.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

  • Наборы в частной внутренней памяти получателя значение данного свойства.

    Объявление

    Swift

    func setPrimitiveValue(_ value: AnyObject?, forKey key: String)

    Objective C

    - (void)setPrimitiveValue:(id)value forKey:(NSString *)key

    Параметры

    value

    Новое значение для свойства, указанного key.

    key

    Имя одного из свойств получателя.

    Обсуждение

    Наборы в частной внутренней памяти получателя значение свойства, указанного key к value. Если key идентифицирует для - одно отношение, связывает объект, указанный value к получателю, не связывая ранее связанный объект, если был тот. Учитывая объект коллекции и ключ, идентифицирующий для - многие отношение, связывает объекты, содержавшиеся в наборе к получателю, не связывая ранее связанные объекты, если был кто-либо.

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

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

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

    Необходимо обычно использовать этот метод только для изменения атрибутов (обычно переходный процесс), не отношения. При попытке установить в - многие отношение к новому NSMutableSet объект, это (в конечном счете) перестанет работать. В необычном событии, что необходимо изменить отношение с помощью этого метода, Вы сначала получаете существующее использование набора primitiveValueForKey: (гарантируйте, что не возвращается метод nil), создайте непостоянную копию, и затем измените копию — как проиллюстрировано в следующем примере:

    • NSMutableSet *recentHires = [[dept primitiveValueForKey:@"recentHires"] mutableCopy];
    • if (recentHires != nil) {
    • [recentHires removeAllObjects];
    • [dept setPrimitiveValue:recentHires forKey:@"recentHires"];
    • }

    Если отношение является реверсивным (т.е. если обратная связь указана), тогда, Вы также ответственны за поддерживание обратных отношений (независимо от кардинальности) — в отличие от нормального поведения Базовых Данных, описанного в Использовании Управляемых объектов.

    Следующие моменты также применяются:

    • Примитивные методы доступа только поддерживаются на смоделированных свойствах. При вызове примитивного средства доступа на несмоделированное свойство это будет вместо этого работать на случайное смоделированное свойство. (Библиотеки отладки и платформы от (доступный от Веб-сайта Разработчика Apple) имеют утверждения для тестирования на передачу несмоделированных ключей к этим методам.)

    • Вы строго призваны использовать динамично сгенерированные средства доступа вместо того, чтобы использовать этот метод непосредственно (например, setPrimitiveName: вместо setPrimitiveValue:newName forKey:@"name"). Динамические средства доступа намного более эффективны, и позволяют время компиляции проверять.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

  • Проверяет значение свойства для данного ключа.

    Объявление

    Swift

    func validateValue(_ value: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey key: String, error error: NSErrorPointer) -> Bool

    Objective C

    - (BOOL)validateValue:(id *)value forKey:(NSString *)key error:(NSError **)error

    Параметры

    value

    Указатель на объект.

    key

    Имя одного из свойств получателя.

    error

    Если value не допустимое значение для key (и не может быть принужден), по возврату содержит экземпляр NSError это описывает проблему.

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

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

    Обсуждение

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

    Реализация по умолчанию, предоставленная NSManagedObject консультируется с описанием объекта объекта, чтобы принудить значение и проверить на основные ошибки, такие как нулевое значение, когда это не позволяется и длина строк, когда ширина поля указана для атрибута. Это тогда ищет метод формы validate<Key>:error: и вызывает его, если это существует.

    Можно реализовать методы формы validate<Key>:error: выполнять проверку, которая не является возможным использованием ограничений, доступных в описании свойства. Если это находит недопустимое значение, Ваш метод проверки должен возвратиться NOfalse и в error NSError объект, описывающий проблему. Для получения дополнительной информации посмотрите Проверку Управляемого объекта. Для проверки межсвойства (для проверки на комбинации значений, которые недопустимы) посмотрите validateForUpdate: и связанные методы.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

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

    Объявление

    Swift

    func validateForDelete(_ error: NSErrorPointer) -> Bool

    Objective C

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

    Параметры

    error

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

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

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

    Обсуждение

    Объект не может быть удален, если он имеет отношение, имеет «отклонение», удаляют правило, и то отношение имеет целевой объект.

    NSManagedObjectреализация отправляет описанию объекта получателя сообщение, выполняющее основную проверку на основе присутствия или отсутствия значений.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

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

    Объявление

    Swift

    func validateForInsert(_ error: NSErrorPointer) -> Bool

    Objective C

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

    Параметры

    error

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

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

    YEStrue если получатель может быть вставлен в его текущее состояние, иначе NOfalse.

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

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

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

  • Определяет, допустимо ли текущее состояние получателя.

    Объявление

    Swift

    func validateForUpdate(_ error: NSErrorPointer) -> Bool

    Objective C

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

    Параметры

    error

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

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

    YEStrue если текущее состояние получателя допустимо, иначе NOfalse.

    Обсуждение

    NSManagedObjectреализация выполняет итерации через все свойства получателя, проверяющие каждого поочередно. Если это приводит больше чем к одной ошибке, userInfo словарь в NSError возвращенный в error содержит ключ NSDetailedErrorsKey; соответствующее значение является массивом, содержащим отдельные ошибки проверки. Если Вы передаете NULL как ошибка, проверка прервется после первого отказа.

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

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

    Объявление

    Objective C

    + (BOOL)automaticallyNotifiesObserversForKey:(NSString *)key

    Параметры

    key

    Имя одного из свойств получателя.

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

    YEStrue если получатель предоставляет автоматическую поддержку для значения ключа, наблюдая уведомления изменения для key, иначе NOfalse.

    Обсуждение

    Реализация по умолчанию для NSManagedObject возвраты NOfalse для смоделированных свойств, и YEStrue для несмоделированных свойств. Для больше о наблюдении значения ключа, посмотрите, что Значение ключа Наблюдает Руководство по программированию.

  • Предоставляет поддержку для значения ключа, наблюдая уведомление доступа.

    Объявление

    Swift

    func didAccessValueForKey(_ key: String)

    Objective C

    - (void)didAccessValueForKey:(NSString *)key

    Параметры

    key

    Имя одного из свойств получателя.

    Обсуждение

    Вместе с willAccessValueForKey:, этот метод используется, чтобы запустить отказы, поддерживать обратные отношения, и т.д. Каждый доступ для чтения должен быть обернут в эту пару метода (таким же образом, что каждый доступ для записи должен быть обернут в willChangeValueForKey:/didChangeValueForKey: пара метода). В реализации по умолчанию NSManagedObject эти методы вызываются для Вас автоматически. Если, скажем, Вы создаете пользовательский подкласс, использующий явные переменные экземпляра, необходимо вызвать их сами, как в следующем примере.

    • - (NSString *)firstName
    • {
    • [self willAccessValueForKey:@"firstName"];
    • NSString *rtn = firstName;
    • [self didAccessValueForKey:@"firstName"];
    • return rtn;
    • }

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

    См. также

    – willAccessValueForKey:

  • - observationInfo Доступный в iOS 3.0 через iOS 7.1

    Возвращает информацию наблюдения получателя.

    Объявление

    Objective C

    - (id)observationInfo

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

    Информация наблюдения получателя.

    Обсуждение

    Для больше о наблюдении значения ключа, посмотрите, что Значение ключа Наблюдает Руководство по программированию.

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

    Objective C

    @import CoreData;

    Доступность

    Доступный в iOS 3.0 через iOS 7.1.

    См. также

    – setObservationInfo:

  • - setObservationInfo: Доступный в iOS 3.0 через iOS 7.1

    Устанавливает информацию наблюдения получателя.

    Объявление

    Objective C

    - (void)setObservationInfo:(id)value

    Параметры

    value

    Новая информация наблюдения для получателя.

    Обсуждение

    Для больше об информации о наблюдении, посмотрите, что Значение ключа Наблюдает Руководство по программированию.

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

    Objective C

    @import CoreData;

    Доступность

    Доступный в iOS 3.0 через iOS 7.1.

    См. также

    – observationInfo

  • Предоставляет поддержку для значения ключа, наблюдая уведомление доступа.

    Объявление

    Swift

    func willAccessValueForKey(_ key: String?)

    Objective C

    - (void)willAccessValueForKey:(NSString *)key

    Параметры

    key

    Имя одного из свойств получателя.

    Обсуждение

    Посмотрите didAccessValueForKey: для большего количества подробных данных. Можно вызвать этот метод с key значение nil гарантировать, что отказ был запущен, как проиллюстрировано следующим примером.

    • [aManagedObject willAccessValueForKey:nil];

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

    См. также

    – didAccessValueForKey:

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

    Объявление

    Swift

    func didChangeValueForKey(_ key: String)

    Objective C

    - (void)didChangeValueForKey:(NSString *)key

    Параметры

    key

    Имя изменившегося свойства.

    Обсуждение

    Для получения дополнительной информации посмотрите, что Значение ключа Наблюдает Руководство по программированию.

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

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

  • Вызванный, чтобы сообщить получателю, что указанное изменение было внесено в указанное к - многие отношение.

    Объявление

    Swift

    func didChangeValueForKey(_ inKey: String, withSetMutation inMutationKind: NSKeyValueSetMutationKind, usingObjects inObjects: Set<NSObject>)

    Objective C

    - (void)didChangeValueForKey:(NSString *)inKey withSetMutation:(NSKeyValueSetMutationKind)inMutationKind usingObjects:(NSSet *)inObjects

    Параметры

    inKey

    Имя свойства, которое является к - многие отношение.

    inMutationKind

    Тип внесенного изменения.

    inObjects

    Объекты, вовлеченные в изменение (см. NSKeyValueSetMutationKind).

    Обсуждение

    Для получения дополнительной информации посмотрите, что Значение ключа Наблюдает Руководство по программированию.

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

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

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

    Объявление

    Swift

    func willChangeValueForKey(_ key: String)

    Objective C

    - (void)willChangeValueForKey:(NSString *)key

    Параметры

    key

    Имя свойства, которое изменится.

    Обсуждение

    Для получения дополнительной информации посмотрите, что Значение ключа Наблюдает Руководство по программированию.

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

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

  • Вызванный, чтобы сообщить получателю, что указанное изменение собирается быть внесенным в указанное к - многие отношение.

    Объявление

    Swift

    func willChangeValueForKey(_ inKey: String, withSetMutation inMutationKind: NSKeyValueSetMutationKind, usingObjects inObjects: Set<NSObject>)

    Objective C

    - (void)willChangeValueForKey:(NSString *)inKey withSetMutation:(NSKeyValueSetMutationKind)inMutationKind usingObjects:(NSSet *)inObjects

    Параметры

    inKey

    Имя свойства, которое является к - многие отношение

    inMutationKind

    Тип изменения, которое будет внесено.

    inObjects

    Объекты, вовлеченные в изменение (см. NSKeyValueSetMutationKind).

    Обсуждение

    Для получения дополнительной информации посмотрите, что Значение ключа Наблюдает Руководство по программированию.

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

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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

  • Константы возвратились из awakeFromSnapshotEvents: обозначить причину, почему управляемый объект, возможно, должен повторно инициализировать значения.

    Объявление

    Swift

    struct NSSnapshotEventType : RawOptionSetType { init(_ rawValue: UInt) init(rawValue rawValue: UInt) static var UndoInsertion: NSSnapshotEventType { get } static var UndoDeletion: NSSnapshotEventType { get } static var UndoUpdate: NSSnapshotEventType { get } static var Rollback: NSSnapshotEventType { get } static var Refresh: NSSnapshotEventType { get } static var MergePolicy: NSSnapshotEventType { get } }

    Objective C

    enum { NSSnapshotEventUndoInsertion = 1 << 1, NSSnapshotEventUndoDeletion = 1 << 2, NSSnapshotEventUndoUpdate = 1 << 3, NSSnapshotEventRollback = 1 << 4, NSSnapshotEventRefresh = 1 << 5, NSSnapshotEventMergePolicy = 1 << 6 }; typedef NSUInteger NSSnapshotEventType;

    Константы

    • UndoInsertion

      NSSnapshotEventUndoInsertion

      Указывает изменение вследствие отмены от вставки.

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

    • UndoDeletion

      NSSnapshotEventUndoDeletion

      Указывает изменение вследствие отмены от удаления.

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

    • UndoUpdate

      NSSnapshotEventUndoUpdate

      Указывает изменение вследствие отмены уровня свойства.

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

    • Rollback

      NSSnapshotEventRollback

      Указывает изменение вследствие откатываемого контекста управляемого объекта.

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

    • Refresh

      NSSnapshotEventRefresh

      Указывает изменение вследствие обновляемого управляемого объекта.

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

    • MergePolicy

      NSSnapshotEventMergePolicy

      Указывает изменение вследствие разрешения конфликтов во время работы сохранения.

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

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

    Objective C

    @import CoreData;

    Swift

    import CoreData

    Доступность

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