我们有一堆不同类型的 NSManagedObjects。
其中一些具有其他 NSManagedObjects 的 NSSet 成员。
问题是我真的需要覆盖集合中对象的哈希和 isEquals 方法 - 但它们是 NSManagedObjects。
我在获取集合中的多个相同对象时遇到问题。
据我所知,由于哈希默认为对象地址 - 所有对象都不同。所以我需要覆盖 hash 和 isEquals - 但看不到任何方法。
我们拥有的是系统中的一堆东西,更多的东西通过 XML 进来——有时是现有对象的重复。当它们相同时,我不希望将重复添加到集合中。
最佳答案
正如 Wain 上面提到的, NSManagedObject documentation 声明你不能覆盖 hash
或 isEqual:
。所以这意味着股票 NSSet
不能满足您的需求。
您的一些选择是:
NSSet
内容以识别和删除重复项 NSManagedObjects
编写一个工厂方法,当给定相同的输入时,该方法将返回相同的对象 NSManagedObjects
hash
和 isEqual:
不同的唯一性测试 关于ios - 如何覆盖 NSManagedObjects 的 hash 和 isEqual?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16246584/