Swift iOS macOS 实现 Hashable 协议

news/2025/2/26 5:14:22

Swift iOS macOS 实现 Hashable 协议

对于一些项目中需要做比较的对象,就需要实现 Hashable 协议,因为要用到 ==

比如我这里有个对象 Phrase,在项目中需要用到 两个 Phrase 对象作对比,就实现这个 Hashable protocle

这个协议中主要有两个方法需要实现:

  1. static func == (lhs: Object, rhs: Object) -> Bool
  2. hash(into hasher: inout Hasher)

看官方说明:https://developer.apple.com/documentation/swift/hashable

struct Phrase {
    var code: String
    var word: String
    
    static func == (lhs: Phrase, rhs: Phrase) -> Bool {
        return lhs.code == rhs.code && lhs.word == rhs.word
    }
    
    func hash(into hasher: inout Hasher) {
        hasher.combine(code)
        hasher.combine(word)
    }
}

http://www.niftyadmin.cn/n/4613411.html

相关文章

xenserver

Citrix XenServer is the complete server virtualization platform from Citrix. citrix xenserver是来自citrix的完全服务器虚拟化平台。The XenServer package contains all you need to create and manage a deployment of virtual x86 computers running on Xen, the open…

直连路由、静态路由和动态路由的区别

根据路由器学习路由信息、生成并维护路由表的方法可将路由划分为三种,包括直连路由、静态路由和动态路由。下面将给出三者的各自定义,并对三种路由做相关对比,以便了解它们之间的区别:一 三种路由的划分1 直连路由 直连路由是由链…

python 保存 excel file IPA data

import pandas import matplotlib.pyplot as plt data pandas.read_excel(‘IPA2_hulkDE.xlsx’) print(data.columns) ParameterList [‘TOPOFIMAGE_DEVIATION’, ‘TOPOFIMAGE_SKEW’, ‘LEFTOFIMAGE_DEVIATION’, ‘LEFTOFIMAGE_SKEW’, ‘HORIZONTAL_PARALLELISM’, ‘VE…

UITableView cellForRowAtIndexPath 代理方法介绍

// 构建tableView的单元格 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {//必须用一个静态字符串static NSString *cellIdentifier "cell";// 判断是有空闲的cell,有进行重用,没有就创建一…

13家中国域名商(国际域名)解析量报告(9月15日)

IDC评述网(idcps.com)09月18日报道:根据DailyChanges公布的实时数据显示,截止至2015年9月15日,国内域名解析量十三强排名顺序,与上期9月8日对比,有所变化。易名中国、爱名网排名均上升1位&#…

Swift iOS macOS 巨量 字符串拼接,速度优化

Swift iOS macOS 巨量 字符串拼接,速度优化 使用字符串输出文件时遇到的一个问题:一个数组中的数据如果太多,比如有 8-9万条 数据,需要拼接起来再保存到文件 有两种方式实现字符串拼接,这两种方式在数据量小的时候感…

salt 模块

http://docs.saltstack.com/py-modindex.html转载于:https://blog.51cto.com/shugao/1268485

随机森林 Iris 特征重要性

http://www.sohu.com/a/297967370_729271 随机森林是指利用多棵决策树对样本进行训练并预测的一种算法。也就是说随机森林算法是一个包含多个决策树的算法,其输出的类别是由个别决策树输出的类别的众树来决定的。在Sklearn模块库中,与随机森林算法相关的…