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

时间:2011-07-30 14:42:36

标签: iphone objective-c ios4 nsmanagedobject

我有两个自定义NSManagedObject课程:NotesTags

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

  

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

为什么会这样?

1 个答案:

答案 0 :(得分: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版本中的操作,您可以将其移至另一个方法或类。