Swift: Hashbare Struktur mit Dictionary-Eigenschaft

Ich habe eine Struktur in Swift, die so aussieht:

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
}

Ich muss jetzt MapKey als Schlüssel in einem Swift-Wörterbuch verwenden, sodass MapKey dem Hashable-Protokoll entsprechen muss.

Was wäre eine korrekte Implementierung von Hashable für eine Struktur wie diese?

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

Ich habe einige Nachforschungen angestellt, konnte jedoch nicht feststellen, wie ein Wörterbuch richtig gehasht werden kann, da ich in der Lage sein muss, einen Hash-Wert für @ zu generiereWert Eigenschaft selbst. Jede Hilfe wird sehr geschätzt.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage