swift-扩展

扩展为现有的类、结构体、枚举类型、或协议添加了新功能。这也包括了为无访问权限的源代码扩展类型的能力(即所谓的逆向建模)

Swift中的扩展可以:

  • 添加计算实例属性和计算类型属性
  • 定义实例方法和类型方法
  • 提供新初始化器
  • 定义下标
  • 定义和使用新内嵌类型
  • 使现有的类型遵循某协议

Swift 中,你甚至可以扩展一个协议,以提供其要求的实现或添加符合类型的附加功能

扩展可以向一个类型添加新的方法,但是不能重写已有的方法

格式:

1. 用extension 关键字来声明扩展
extension SomeType {
    // new functionality to add to SomeType goes here
}

extension SomeType: SomeProtocol, AnotherProtocol {
    // implementation of protocol requirements goes here
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 扩展可以给一个现有的类,结构体,枚举,还有协议添加新的功能。 拥有不需要访问被扩展类型源代码就能完成扩展的能力(即...
    DevXue阅读 1,774评论 0 0
  • 为现有的类、结构体、枚举类型、协议添加了新功能。扩展可以:1、添加计算属性(get set);2、定义方法;3、提...
    星河_1538阅读 1,085评论 0 0
  • 一个类可以从另外一个类中继承方法,属性或者其它的一些特性。当一个类继承于另外一个类时,这个继承的类叫子类,被继承的...
    泥孩儿0107阅读 6,070评论 0 1
  • 协议的命名遵循 Swift 的标准库, 即协议名以 "Type", "-able", "-ible" 结尾 例如 ...
    焉知非鱼阅读 11,232评论 3 5
  • 泛型代码让你能根据自定义的需求,编写出适用于任意类型的、灵活可复用的函数及类型。 你可避免编写重复的代码,而是用一...
    DevXue阅读 1,625评论 0 0

友情链接更多精彩内容