【问题标题】:Why am I not able to override isEqual in my NSManagedObject subclass?为什么我无法在我的 NSManagedObject 子类中覆盖 isEqual?
【发布时间】:2011-07-30 14:42:35
【问题描述】:

我有两个自定义 NSManagedObject 类:NotesTags

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

实体'Tags'的'Class 'Tags'非法覆盖NSManagedObject -isEqual:'

为什么会这样?

【问题讨论】:

  • 你考虑过接受迈克尔·狄克逊的回答吗?

标签: iphone objective-c ios4 nsmanagedobject


【解决方案1】:

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

明确不允许您覆盖 NSManagedObject -isEqual(请参阅上述文档中的“您不得覆盖的方法”部分)。 -isEqual 被 Core Data 基础设施大量使用,因此如果允许这样做,您可能会在 Core Data 中引起许多问题。

根据您想要在您的 -isEqual 版本中执行的操作,您可以将其移至另一个方法或类。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-01
    • 2019-07-11
    • 2015-03-20
    • 1970-01-01
    • 1970-01-01
    • 2020-10-30
    • 2018-02-20
    • 1970-01-01
    相关资源
    最近更新 更多