1. Comparable
IndexableBase
主要是操作下标的,列如常见的就是以整形为下标的数组。在这个协议里面的变量Index
遵守Comparable
协议。
这个Comparable
是个什么协议呢?从图中可以看到Comparable
定义了5个比较方法,也就是我们常见的==
、<
、<=
、>=
、>
。
2. IndexableBase, Indexable
这两个协议主要定义了返回部分数据下标的函数 比如第几个元素,从哪里到哪里取几个元素等。
总结:
集合类的下标一般是常正型(我们也可以使用其他类型,比如A、B、C、D... ),在对下标进行比较的时候我们就会用到比较类的方法,因此Index遵守Comparable
协议是为了进行下标间的比较。(如果要使用其他类型,下标间的比较规则则需要自己重写)
IndexableBase, Indexable
主要是对单个下标或者下标的某个区间做操作,比如返回某个下标, 返回某几个连续下标的区间。