<分区>
<分区>
我正在尝试做一个 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/