ios - NSCounted 设置忽略属性

标签 ios objective-c nscountedset

<分区>

我正在尝试做一个 NSCountedSet 但我需要忽略一个属性,我尝试覆盖我的对象的 isEqual 方法,并手动比较所有除了我想忽略但不起作用的属性之外的属性

关于如何实现它有什么想法吗?

更新

我的类(class)

@interface GSOrderMenuMenuContent : GSBaseModel

@property (copy, nonatomic) NSNumber        *order_content_id;
@property (copy, nonatomic) NSNumber        *item_id;

@property (copy, nonatomic) NSNumber        *price;
@property (copy, nonatomic) NSNumber        *priceWithModifiers;

@property (copy, nonatomic) NSString        *course;
@property (copy, nonatomic) NSString        *itemName;

@property (nonatomic) GSMenuItem*           item;
@property (nonatomic) NSMutableArray        *modifiers;

@property (copy, nonatomic) NSNumber        *isAlreadyPrinted;

@property (copy,nonatomic)  NSNumber        *isDeleted;

-(GSOrderMenuMenuContent*)deepCopy;

-(GSOrderContent*)  orderContent;

-(BOOL)isEqual:(GSOrderMenuMenuContent*)object;
@end

用法:

    NSCountedSet* countedSet    = [[NSCountedSet alloc] initWithArray:contents];

其中内容是类对象的数组

isEqual 添加断点不会被调用(但是如果执行 [NSarray containsObject:...]

最佳答案

如文档中针对 isEqual: 方法所述,您必须始终实现相应的 hash 方法。这两种方法必须始终一起实现。

比较相等的两个对象也必须返回相同的 hash 值。

关于ios - NSCounted 设置忽略属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30759743/

上一篇:ios - 如何更改 xcdatamodel 中的属性类型?

下一篇:ios - 删除导致应用程序崩溃

相关文章:

arrays - 最常见的数组元素

ios - 查找数组中出现 2 次或更多次的数字

ios - 保留 NSArray 在 NSCountedSet 中的原始顺序

ios - 场景套件 SCNMorpher 不适用于 SCNSphere 等原语

iphone - 核心图 CPT ScatterPlot 'Line Graph' 未显示

ios - 如何在不丢失自动布局的情况下重新定位 ImageView?

objective-c - 更改 header 信息二进制并将其写回

ios - 语言环境检测 objective-c

ios - UIViewPropertyAnimator 重复

ios - SWRevealViewController rightViewController 禁用开启