Я работал в предположении, что NSSet использовал хэш для поиска потенциальных совпадений, а затем вызвал isEqual для каждого из них, чтобы проверить наличие реальных столкновений , но я понял, что не могу найти никаких доказательств, подтверждающих это.
Причина, по которой я поднял этот вопрос, заключается в существовании метода "member:" в NSSet. Почему документация для member: старается изо всех сил указывать, что isEqual: используется для поиска вашего объекта, когда ничто другое в NSSet не делает этого? Содержит объект containsObject: использовать только хеш или что-то в этом роде?
Кто-нибудь может подтвердить такое поведение? И в идеале справочная документация по нему?