swift – make struct Hashable?

swift – make struct Hashable?,第1张

概述我正在尝试创建排序[petInfo:UIImage]()的字典,但我得到错误类型’petInfo’不符合协议’Hashable’。我的petInfo结构是这样的: struct petInfo { var petName: String var dbName: String} 所以我想以某种方式使它可以散列,但它的组件都不是一个整数,这是var hashValue:Int所需要的 我正在尝试创建排序[petInfo:UIImage]()的字典,但我得到错误类型’petInfo’不符合协议’Hashable’。我的petInfo结构是这样的:
struct petInfo {    var petname: String    var dbname: String}
@H_502_3@所以我想以某种方式使它可以散列,但它的组件都不是一个整数,这是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    }}
总结

以上是内存溢出为你收集整理的swift – make struct Hashable?全部内容,希望文章能够帮你解决swift – make struct Hashable?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1051979.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存