Вопрос проверяет понимание требований к типам ключей в Dictionary в Swift и механизмов быстрого поиска по ключу.
Короткий ответ
Hashable нужен, чтобы ключ помещался в хеш-таблицу и рассчитывался его хеш-код для быстрого доступа. Equatable — чтобы при коллизиях (одинаковые хеш-коды) можно было точно сравнить два ключа и выбрать нужный. Без этих протоколов словарь не сможет эффективно хранить и находить пары «ключ→значение».
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.