Swift Extension

478 阅读1分钟

本文主要介绍Extension的作用以及使用方式 Extension的作用

  • 添加计算型实例属性和计算型类属性
extension Double{
    //添加计算型实例属性
    var km:Double{
        return self * 1000
    }
    //计算型类属性
    static var danwei:String {
        return "米"
    }
}
let x = 1.2.km
print(x)
print(Double.danwei)

扩展可以添加新的计算属性,但是它们不能添加存储属性,或向现有的属性添加属性观察者。

  • 定义实例方法和类方法
  • 提供新的构造器

扩展可以给一个类添加新的便利构造器,但是他们不能给类添加新的指定构造器或者析构器, 指定构造器和析构器必须由类的原始实现提供 如果你通过扩展提供一个新的构造器,你有责任确保每个通过该构造器创建的实例都是初始化完整的。

  • 定义下标
  • 定义和使用新的嵌套类型
  • 使已经存在的类型遵循一个协议