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