Как NSSet сравнивает значения в массиве, чтобы удалить дубликаты при использовании SetWithArray - PullRequest
0 голосов
/ 23 марта 2012

У меня есть NSArray, и я хочу удалить из него дубликаты.Я знаю, что используя этот метод [NSSet setWithArray: [arrAllValues ​​valueForKey: @ "value"]], я также знаю, что он вызывает метод, указанный в параметре valueForKey.Но я не знаю, какой метод NSSet вызывает для сравнения объектов в массиве.Моя проблема заключается в том, что я хочу сравнить свойство с именем «значение», но я хочу вернуть массив объекта, который содержит свойство, а не свойство.Могу я это сделать?

Спасибо !!!

1 Ответ

1 голос
/ 23 марта 2012

Сравнивает их, используя ссылка на протокол NSObject метод:

- (BOOL)isEqual:(id)anObject

следовательно, вы можете переопределить этот метод в своем классе, чтобы реализовать желаемое поведение, как примечание, так же, как вы делали бы это в Java, вы также должны переопределить хеш.

...