Когда вычисляется hashValue в swift?
Допустим, у меня есть массивная строка, поэтому ее хеширование довольно дорого.
Когда вычисляется hashValue? Каждый раз, когда я обращаюсь к нему как
words.hashValue
или каждый раз, когда строка изменяется? Если он находится в доступе, он кэшируется?
1 ответ
Как документы на
hashValue
заявить, что это требование устарело, вы должны использовать
hash(into:)
вместо этого, который следует вызывать только при сохранении
String
как
Hashable
, используя его как
Dictionary
ключ или в
Set
.
Дополнительные сведения см. в разделе SE-0206 «Улучшения хеширования» .