gpt4 book ai didi

swift - 使结构可哈希?

转载 作者:IT王子 更新时间:2023-10-29 05:04:26 24 4
gpt4 key购买 nike

我正在尝试创建类型为 [petInfo : UIImage]() 的字典,但出现错误 Type 'petInfo' does not conform to protocol 'Hashable' 。我的 petInfo 结构是这样的:

struct petInfo {
var petName: String
var dbName: String
}

所以我想以某种方式使其可哈希,但它的所有组件都不是整数,而这正是 var hashValue: Int 所要求的。如果它的字段都不是整数,我怎样才能让它符合协议(protocol)?如果我知道 dbName 对于此结构的所有出现都是唯一的,我可以使用它吗?

最佳答案

只需从您的hashValue 函数返回dbName.hashValue。仅供引用 - 哈希值不需要是唯一的。要求是相等的两个对象也必须具有相同的哈希值。

struct PetInfo: Hashable {
var petName: String
var dbName: String

var hashValue: Int {
return dbName.hashValue
}

static func == (lhs: PetInfo, rhs: PetInfo) -> Bool {
return lhs.dbName == rhs.dbName && lhs.petName == rhs.petName
}
}

关于swift - 使结构可哈希?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41972319/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com