2011-07-30 4 views
9

Tôi có hai lớp học NSManagedObject tùy chỉnh: NotesTags.Tại sao tôi không thể ghi đè isEqual trong lớp con NSManagedObject của tôi?

Khi tôi ghi đè isEqual: chức năng trong lớp Tags tôi nhận được một thông báo lỗi như thế này:

'Class 'Tags' cho thực thể 'Tags' có ghi đè bất hợp pháp của NSManagedObject -isEqual:'

Tại sao điều này lại xảy ra?

+0

Bạn đã xem xét chấp nhận câu trả lời của Michael Dixon chưa? – Besi

Trả lời

13

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

Bạn đang dứt khoát không được phép ghi đè NSManagedObject -isEqual (xem phần "Các phương pháp bạn Phải Không Override" trong tài liệu hướng dẫn ở trên). -isEqual được sử dụng nhiều bởi cơ sở hạ tầng Dữ liệu cốt lõi, vì vậy nếu điều này được cho phép, bạn có thể gây ra nhiều vấn đề trong Core Data.

Tùy thuộc vào những gì bạn muốn thực hiện trong phiên bản -isEqual, bạn có thể di chuyển sang phương thức hoặc lớp khác.