我正在尝试创建一种字典[petInfo : UIImage]()
的字典,但出现错误Type 'petInfo' does not conform to protocol 'Hashable'
。我的petInfo结构是这样的:
struct petInfo {
var petName: String
var dbName: String
}
所以我想以某种方式使其可散列,但其组成部分都不是
var hashValue: Int
所需的整数。如果其所有字段都不是整数,如何使它符合协议(protocol)?如果我知道dbName
在此结构的所有实例中都是唯一的,可以使用ojit_code吗? 最佳答案
只需从dbName.hashValue
函数返回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/