我正在使用创建对象并将它们添加到集合中-[NSOrderedMutableSet addObject:]
,但我发现只检查对象本身的重复项——大概是对象指针的地址,并且可以添加具有相同内容的多个对象。
例如:
SomeObject* object = [SomeObject alloc] initWithStuff:stuff];
SomeObject* object2 = [SomeObject alloc] initWithStuff:stuff];
[set addObject:object];
[set addObject:object];
[set addObject:object1];
[set addObject:object2];
计数将是 2。
这让我想知道这些课程的意义是什么?在什么情况下可能有一个对象,但不知道对象本身是否已经被添加到集合中,而不是对象中包含的数据?
使用什么最简单的方法(或者我应该使用什么类)来确保集合仅包含基于内容的每个对象之一?