Почему я не могу переопределить isEqual в моем подклассе NSManagedObject? - PullRequest
10 голосов
/ 30 июля 2011

У меня есть два пользовательских NSManagedObject класса: Notes и Tags.

Когда я переопределяю функцию isEqual: в классе Tags, я получаю сообщение об ошибке, подобное этому:

Класс 'Теги' для сущности 'Теги' имеет недопустимое переопределение NSManagedObject -isEqual: '

Почему это происходит?

1 Ответ

14 голосов
/ 30 июля 2011

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/CoreDataFramework/Classes/NSManagedObject_Class/Reference/NSManagedObject.html

Вы явно не можете переопределить NSManagedObject -isEqual (см. Раздел «Методы, которые вы не должны переопределять» в документации выше). -isEqual интенсивно используется инфраструктурой Core Data, поэтому, если это будет разрешено, вы можете вызвать многочисленные проблемы в Core Data.

В зависимости от того, что вы хотите сделать в своей версии -isEqual, вы можете переместить ее в другой метод или класс.

...