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 - 删除导致应用程序崩溃

相关文章:

ios - iOS 应用程序中的 gmail 集成

iOS 8 : Why is NSLayoutAttributeCenterX failing to center my views?(适用于 iOS 7)

ios - 尽管删除了图像,但 UIImageView 数据仍然存在

swift - NSCountedSet 泛型函数

ios - `CountedSet` 初始化问题

ios - phonegap ios 键盘,数字仅用于 iPad 上的数字字段

ios - 如何将按钮添加到 iOS 14 小部件

iphone - 如何在 iOS 中通过函数从同一个类调用 ViewDidLoad 方法

objective-c - 使用指针作为 NSMutableDictionary 的键的安全方法是什么?

arrays - 数组排序不正确