协议扩展
Swift 2.2 的一个非常有用的功能是具有扩展协议的能力。
当你想要在所有实现某些协议的类中使用的功能时(无需从基础公共类继承),它的工作方式与抽象类非常相似。
protocol FooProtocol {
func doSomething()
}
extension FooProtocol {
func doSomething() {
print("Hi")
}
}
class Foo: FooProtocol {
func myMethod() {
doSomething() // By just implementing the protocol this method is available
}
}
使用泛型也可以这样做。