Swift 2 中为实存类型和泛型搭桥牵线
我们又回到了讨论泛型的另一个章节,来讨论泛型,有其他类型的协议和在 Swift 2 中的其他类型的系统限制。这次我们会深入讨论一个有趣的变通方法,它是那个声名狼藉的 jckarter 教会我的。我们也会讨论在未来的 Swift 版本中,这个变通方法通过增强型的实存类型就变得不必要了。
Swift 中的实存类型
一般而言,实存类型允许我们去使用类型的需求来定义类型变量。我们可以在整个项目中使用这些类型变量,它可以不需要被知道背后是具体的哪个类型实现这些需求的。
在 Swift 2 中,只有使用 protocol<> 语法 ( 在 Swift 3 中会被 & 语法替换 ) 才能定义一个实存类型。
通过定义一个方法函数,它需要使用一个实存类型参数,我们能在不知道参数的具体