協議擴充套件
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
}
}
使用泛型也可以這樣做。