說,例如,你在斯威夫特的協議:兩種實現Swift授權的方式有什麼區別?
protocol WeatherServiceDelegate: class {
func didCompleteRequest(result: String)
}
兩個實現它們的方法:
方法1:通過類繼承
class ViewController: UIViewController, WeatherServiceDelegate {
....
}
路2 : Via extension
然而,夫特並提供一種可用於實現協議方法
extension ViewController: WeatherServiceDelegate{
func didCompleteRequest(result: String){
print(result)
}
}
是否有關於這兩個方法中的任何差的關鍵字extension
?
的[是什麼協議,擴展和類IOS開發之間的區別可能的複製?以及如何正確使用它們?](http://stackoverflow.com/questions/30859411/what-is-the-difference-between-protocol-extension-and-category-in-ios-developme) – leanne
@leanne我有看過那篇文章。這個問題集中在實施協議的兩種方式之間的差異。 – Ben
運行時沒有區別。但是,如果你想定義和使用實例變量方式1是唯一的選擇。使用方式2如果你想模塊化代碼,就像把它分解成多個文件一樣(對於視圖控制器不常用) –