Equatable & Hashabable
这两个在语言里是相当重要了, 想想 dictionary, 想想当你比较两个对象是否相等时, 这都离不开这两个特性
简单总结下我看这个理解到的
动机
在这之前, 很多使用比较两个对象相等时(Swift3), 都是需要实现
Equatable
协议, 然后实现==
函数, 里面比较各种定义的成员属性, 最麻烦的就是, 当你改动了任何一个属性后, 都需要来改动这里, 这很容易因为忽略了忘记了或者什么的出错
当然啊! 改一个地方就要改很多地方, 麻烦死了!!! 类似API 请求回来的数据, 还得定个class, class 里还要写上对应的转化函数…..简直…累的不要不要的…(穷则变, 变则通..幸好后来找了一些方法来加快这个步奏, 不至于花太多人力在这上面)