什么是扩展以及何时使用它们
扩展为现有的类,结构,枚举或协议类型添加新功能。这包括扩展你无权访问原始源代码的类型的功能。
Swift 中的扩展可以:
- 添加计算属性和计算类型属性
- 定义实例方法和类型方法
- 提供新的初始化程序
- 定义下标
- 定义和使用新的嵌套类型
- 使现有类型符合协议
何时使用 Swift Extensions:
- Swift 的附加功能
- UIKit / Foundation 的附加功能
- 附加功能,无需与其他人员代码混淆
- 细分类:数据/功能/代表
何时不使用:
- 从另一个文件扩展你自己的类
简单的例子:
extension Bool {
public mutating func toggle() -> Bool {
self = !self
return self
}
}
var myBool: Bool = true
print(myBool.toggle()) // false