什麼是擴充套件以及何時使用它們
擴充套件為現有的類,結構,列舉或協議型別新增新功能。這包括擴充套件你無權訪問原始原始碼的型別的功能。
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