说,例如,你在斯威夫特的协议:两种实现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如果你想模块化代码,就像把它分解成多个文件一样(对于视图控制器不常用) –