扩展 就是为一个已有的类、结构体、枚举类型或者协议类型添加新功能。这包括在没有权限获取原始源代码的情况下扩展类型的能力(即逆向建模 )。
Swift 中的扩展可以:
• 添加计算型属性
• 定义实例方法和类型方法
• 提供新的构造器(只限便利构造器)
• 定义下标
• 定义和使用新的嵌套类型
• 使一个已有类型符合某个协议
扩展语法
使用关键字 extension来声明扩展
extension SomeType {
// 为 SomeType 添加的新功能写到这里
}
可以通过扩展来扩展一个已有类型,使其采纳一个或多个协议。
extension SomeType: SomeProtocol, AnotherProctocol {
// 协议实现写到这里
}