0

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

关于如何实现它的任何想法?

更新

我的课

@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];

其中 contents 是类对象的数组

向未调用的获取添加断点isEqual(但是,如果执行[NSarray containsObject:...]

4

1 回答 1

1

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

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

于 2015-06-10T15:01:07.873 回答