Почему это сообщение Objective C делает хэш? - PullRequest
0 голосов
/ 06 ноября 2019

Я читаю открытый исходный код библиотеки и замечаю этот метод - хэш.

-(NSUInteger)hash:(NSObject*)targetObject
{
    return (NSUInteger)targetObject;
}

Почему это хэш?

1 Ответ

4 голосов
/ 06 ноября 2019

Цель - указатель на объект. Это означает, что это целое число, и вы определенно можете преобразовать его в NSUInteger.

. В основном это означает, что два разных экземпляра класса всегда будут иметь разный хеш. Вероятно, это правильное решение, если isEqual определено с точки зрения равенства ссылок.

Реализация по умолчанию [NSObject hash] фактически возвращает self.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...