NSCounted设置忽略属性

时间:2015-06-10 14:44:53

标签: ios objective-c nscountedset

我试图做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:...]

1 个答案:

答案 0 :(得分:1)

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

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