为什么我无法在NSManagedObject子类中覆盖isEqual?

leo*_*yfm 10 iphone objective-c nsmanagedobject ios4

我有两个自定义NSManagedObject类:NotesTags.

当我覆盖类中的isEqual:函数时,Tags我收到如下错误消息:

实体'标签'的'类'标签'具有非法覆盖NSManagedObject -isEqual:'

为什么会这样?

小智 14

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

您明确不允许覆盖NSManagedObject -isEqual(请参阅上面文档中的"您不能覆盖的方法"部分).-isEqual被Core Data基础架构大量使用,因此如果允许这样做,您可能会在Core Data中引发许多问题.

根据您在-isEqual版本中的操作,您可以将其移动到另一个方法或类.