Swift并使用类扩展

前端之家收集整理的这篇文章主要介绍了Swift并使用类扩展前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我不明白为什么程序员在他们的类实现中使用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扩展已经存在的类,所以没有什么危害.使用扩展,您可以避免在控制器中拥有巨大的代码块,并将功能拆分成易于读取的部件,因此没有使用这些错误.

原文链接:https://www.f2er.com/swift/319639.html

猜你在找的Swift相关文章