Swift 中的扩展

扩展的语法

extension SomeType{
  //new functionality to add to SomeType goes here
}

extension SomeType: SomeProtocol, AnotherProtocol {
    // implementation of protocol requirements goes here
}

计算属性

扩展可以为现有类型添加实例计算属性以及类计算属性。
但不能添加存储属性,也不能为现有的属性添加观察器。

初始化器

扩展可以为现有类型添加便利的初始化器。
但不能添加指定的初始化器,也不能添加析构器。

对于值类型来说,如果其所有的存储类型都有默认值,且没有自定义的初始化器,
那么,在新添加的初始化器中,可以调用值类型的默认构造器和 memberwise 构造器。

方法

扩展可以为现有类型添加实例方法以及类方法。

下标

扩展可以为现有类型添加下标方法。

嵌套类型

扩展可以为现有类型添加嵌套的类,属性或者枚举。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 扩展就是为一个已有的类、结构体、枚举类型或者协议类型添加新功能。 1. 扩展语法 可以通过扩展来扩展一个已有类型,...
    keisme阅读 214评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,256评论 19 139
  • Swift 中的扩展扩展就是向一个已有的类、结构体或枚举类型添加新功能,这包括在没有权限获取原始源代码的情况下扩展...
    Bobby0322阅读 872评论 0 2
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 3,971评论 1 10
  • 官方文档 初始化 Initialization是为准备使用类,结构体或者枚举实例的一个过程。这个过程涉及了在实例里...
    hrscy阅读 1,161评论 0 1