Swift class 带有协议的扩展与符合协议的扩展
Swift class extension with protocol vs conforming to protocol
在this教程中,作者使用了extension FlickrPhotosViewController: UITextFieldDelegate
,然后实现了协议方法。我已经测试过,作者可以很容易地完成 class FlickrPhotosViewController: UICollectionViewController, UITextFieldDelegate
并实现 class 中的方法。我能看到的唯一区别是它更容易阅读和理解。这是设计风格还是什么?
Is this a design style or something
非常喜欢。将一个 class 分成多个扩展名是正常的风格,每个扩展名表示 class 采用了一个或多个相关协议。但是这种分离没有功能的意义; class 可以 在没有这种分离的情况下表达。
编码更好
您不应在同一个文件中组合文本字段委托和视图控制器。
在this教程中,作者使用了extension FlickrPhotosViewController: UITextFieldDelegate
,然后实现了协议方法。我已经测试过,作者可以很容易地完成 class FlickrPhotosViewController: UICollectionViewController, UITextFieldDelegate
并实现 class 中的方法。我能看到的唯一区别是它更容易阅读和理解。这是设计风格还是什么?
Is this a design style or something
非常喜欢。将一个 class 分成多个扩展名是正常的风格,每个扩展名表示 class 采用了一个或多个相关协议。但是这种分离没有功能的意义; class 可以 在没有这种分离的情况下表达。
编码更好
您不应在同一个文件中组合文本字段委托和视图控制器。