swift – make struct Hashable?

我正在尝试创建排序[petInfo:UIImage]()的字典,但我得到错误类型’petInfo’不符合协议’Hashable’。我的petInfo结构是这样的:
struct petInfo {
    var petName: String
    var dbname: String
}

所以我想以某种方式使它可以散列,但它的组件都不是一个整数,这是var hashValue:Int所需要的。如果它的字段都不是整数,我该如何使它符合协议?如果我知道它对于所有这个结构的出现都是唯一的,我可以使用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
    }
}

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...