加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift并使用类扩展

发布时间:2020-12-14 05:34:36 所属栏目:百科 来源:网络整理
导读:我不明白为什么程序员在他们的类实现中使用extension关键字.您可以阅读其他主题,然后代码更加语义上分离等.但是当我使用自己的代码时,我觉得使用// MARK – Something更清楚.然后在 Xcode中使用方法列表(ctrl 6)时,首先看到一切. 在Apple文档中,您可以阅读:
我不明白为什么程序员在他们的类实现中使用extension关键字.您可以阅读其他主题,然后代码更加语义上分离等.但是当我使用自己的代码时,我觉得使用// MARK – Something更清楚.然后在 Xcode中使用方法列表(ctrl 6)时,首先看到一切.

在Apple文档中,您可以阅读:

“Extensions add new functionality to an existing class,structure,or enumeration type.”

那么为什么不直接在自己的类里面写我自己的代码呢?不像我想扩展一些外部类的功能,如NSURLSession或Dictionary,您必须使用扩展名.

Mattt Thompson在他的Alamofire图书馆中使用扩展名,也许他可以给我很少的解释,为什么他选择这种方法.

对我来说似乎是完全合理的,因为您可以使用扩展来将不同的逻辑部分暴露给不同的扩展.例如,这也可以用于使类符合协议更可读
class ViewController: UIViewController {
...
}

extension ViewController: UITableViewDelegate {
...
}

extension ViewController: UITableViewDataSource {
...
}

extension ViewController: UITextFieldDelegate {
...
}

为了清晰起见,协议方法在不同的扩展名中分开,这似乎比让我们说的更好:

class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource,UITextFieldDelegate {}

所以,我想说使用扩展来使自己的代码更易于阅读,而不仅仅是从SDK扩展已经存在的类,所以没有什么危害.使用扩展,您可以避免在控制器中拥有巨大的代码块,并将功能拆分成易于读取的部件,因此没有使用这些错误.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读