Swift: Hashable структура со свойством словаря

У меня есть структура в Swift, которая выглядит следующим образом:

internal struct MapKey {
    internal let id: String
    internal let values: [String:String]
}
extension MapKey: Equatable {}
func ==(lhs: MapKey, rhs: MapKey) -> Bool {
    return lhs.id == rhs.id && lhs.values == rhs.values
}

Теперь у меня есть необходимость использовать MapKey в качестве ключа в словаре Swift, который требует, чтобы MapKey соответствовал протоколу Hashable.

Какова будет правильная реализация Hashable для такой структуры, как эта?

extension MapKey: Hashable {
    var hashValue: Int {
        return ??? // values does not have a hash function/property.
    }
}

Я провел некоторое исследование, но не смог определить, каков правильный способ хэширования словаря, так как мне нужно иметь возможность генерировать хеш-значение дляценности собственность Буду признателен за любую оказанную помощь.

Ответы на вопрос(3)

Ваш ответ на вопрос