swift扩展Extensions

125 阅读1分钟

1.Extension

  • 扩展 就是为一个已有的类、结构体、枚举类型或者协议类型添加新功能

  • 语法:extension SomeType { }

  • 可以使用的功能:

  • 添加计算行属性,计算类型属性

  • 定义实例方法和类型方法

  • 提供新的构造器

  • 定义下标

  • 定义和使用新的嵌套类型

  • 使用已有类型符合某个协议。

计算型属性

  • 为一个类增加计算属性

构造器

  • 扩展能为类添加新的便利构造器,但是它们不能为类添加新的指定构造器或析构器。指定构造器和析构器必须总是由原始的类实现来提供

方法

  • 扩展可以为已有类型添加新的实例方法和类型方法

  • 使用: 3.repetitions({ print("Hello!")})

  • 可变实例方法:

  • 结构体和枚举中,修改self或其属性方法,必须加上mutating

下标

  • 扩展可以为已有类型添加新下标。这个例子为 Swift 内建类型 Int 添加了一个整型下标。该下标 [n] 返回十进制数字从右向左数的第 n 个数字

嵌套类型

  • 为Int添加了嵌套枚举,用来表示是正数,负数,0