Когда вычисляется hashValue в swift?

Допустим, у меня есть массивная строка, поэтому ее хеширование довольно дорого.

Когда вычисляется hashValue? Каждый раз, когда я обращаюсь к нему как words.hashValueили каждый раз, когда строка изменяется? Если он находится в доступе, он кэшируется?

1 ответ

Как документы на hashValueзаявить, что это требование устарело, вы должны использовать hash(into:)вместо этого, который следует вызывать только при сохранении Stringкак Hashable, используя его как Dictionaryключ или в Set.

Дополнительные сведения см. в разделе SE-0206 «Улучшения хеширования» .

Другие вопросы по тегам