发布于 2015-06-14 01:58:40 | 156 次阅读 | 评论: 0 | 来源: 网络整理
协议合成类型是一种符合每个协议的指定协议列表类型。协议合成类型可能会用在类型注解和泛型参数中。
协议合成类型的形式如下:
protocol<Protocol 1, Procotol 2>
协议合成类型允许你指定一个值,其类型可以适配多个协议的条件,而且不需要定义一个新的命名型协议来继承其它想要适配的各个协议。比如,协议合成类型protocol<Protocol A, Protocol B, Protocol C>
等效于一个从Protocol A
,Protocol B
, Protocol C
继承而来的新协议Protocol D
,很显然这样做有效率的多,甚至不需引入一个新名字。
协议合成列表中的每项必须是协议名或协议合成类型的类型别名。如果列表为空,它就会指定一个空协议合成列表,这样每个类型都能适配。
协议合成类型语法
协议合成类型 → protocol < 协议标识符列表 可选 >
协议标识符列表 → 协议标识符 | 协议标识符 , 协议标识符列表
协议标识符 → 类型标识