本文总结自Greg Heo 在旧金山的swift 峰会上的演讲
我们先列举出swift标准库中常见的55个协议。
从协议名结尾字面上我们可以将Protocol分为able
、Type
、Convertible
三类:
从功能角度
上来讲可以将标准库中的协议分成下面三类:
1. 功能添加型(able结尾
) "可以做什么?"
举例:
1.Hashable
: 给你的实例添加
一个生成哈希值的功能
。
2.Equatable
: 给你的实例添加
一个判断相等的功能
。
2.类型对比型(Type结尾
) "这个实例是什么?"
举例:
1.CollectionType
: swift中所有的集合类型都要遵守的一个协议,告诉大家你的实例是一个集合类型的
。
3.类型转换型(Convertable结尾
) "这个实例可以转化成什么?"
举例:
1.CustomStringConvertible
: Print打印输出时比较常用的一个协议,这个协议可以将你的实例需要打印的信息转化成字符串
。
我们在以后的日常中可以通过一个协议的命名方式
大概推算出这个协议的作用。
Tips
: 以后在项目开发中自定义协议
的时候,命名规范就可以依据这三个方面来做协议的命名😄