Swift类扩展与协议vs符合协议

时间:2015-07-16 21:11:38

标签: ios swift protocols

this教程中,作者使用extension FlickrPhotosViewController: UITextFieldDelegate然后实现协议方法。我已经测试过了,作者可以很容易地完成class FlickrPhotosViewController: UICollectionViewController, UITextFieldDelegate并在类中实现了这些方法。我能看到的唯一区别是它使阅读和理解更容易。这是一种设计风格还是什么?

2 个答案:

答案 0 :(得分:2)

  

这是一种设计风格还是什么

非常如此。将类分成多个扩展是正常的样式,每个扩展表示该类采用一个或多个相关协议。但是这种分离没有功能的含义; 类可以在没有这种分离的情况下表达。

答案 1 :(得分:1)

这是更好的编码。

您不应将文本字段委托和视图控制器组合在同一文件中。