Ios 带协议的Swift类扩展与符合协议的Swift类扩展

Ios 带协议的Swift类扩展与符合协议的Swift类扩展,ios,swift,protocols,Ios,Swift,Protocols,在本教程中,作者使用扩展FlickrPhotosViewController:UITextFieldDelegate,然后实现协议方法。我已经测试过,作者也可以很容易地完成FlickrPhotosViewController类:UICollectionViewController、UIExtFieldDelegate,并在类中实现这些方法。我能看到的唯一区别是,它使阅读和理解更容易。这是一种设计风格还是什么 这是一种设计风格还是什么 非常感谢。将一个类划分为多个扩展是一种正常的方式,每个扩展都表

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

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

非常感谢。将一个类划分为多个扩展是一种正常的方式,每个扩展都表示该类采用了一个或多个相关协议。但这种分离没有功能意义;类可以在没有这种分离的情况下被表达。

它是更好的编码


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

这是一种更易于阅读的代码布局,有助于实现良好的语义分离。