为什么我无法在 NSManagedObject 子类中重写 isEqual ?

发布于 2024-11-27 06:13:08 字数 260 浏览 0 评论 0原文

我有两个自定义 NSManagedObject 类:NotesTags

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

“实体“标签”的“标签”类非法覆盖了 NSManagedObject -isEqual:”

为什么会发生这种情况?

I have two custom NSManagedObject classes: Notes and Tags.

When I override the isEqual: function in the Tags class I get an error message like this:

'Class 'Tags' for entity 'Tags' has an illegal override of NSManagedObject -isEqual:'

Why is this happening?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

戒ㄋ 2024-12-04 06:13:08

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

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

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

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

You're explicitly not allowed to override NSManagedObject -isEqual (see the "Methods you Must Not Override" section in the documentation above). -isEqual's heavily used by the Core Data infrastructure, so if this were allowed, you could cause numerous issues within Core Data.

Depending on what you want to do in your version of -isEqual, you could move it to another method or class.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文