擴(kuò)展的語(yǔ)法
extension SomeType{
//new functionality to add to SomeType goes here
}
extension SomeType: SomeProtocol, AnotherProtocol {
// implementation of protocol requirements goes here
}
計(jì)算屬性
擴(kuò)展可以為現(xiàn)有類型添加實(shí)例計(jì)算屬性以及類計(jì)算屬性。
但不能添加存儲(chǔ)屬性强经,也不能為現(xiàn)有的屬性添加觀察器候址。
初始化器
擴(kuò)展可以為現(xiàn)有類型添加便利的初始化器。
但不能添加指定的初始化器纽匙,也不能添加析構(gòu)器。
對(duì)于值類型來(lái)說(shuō)拍谐,如果其所有的存儲(chǔ)類型都有默認(rèn)值烛缔,且沒有自定義的初始化器馏段,
那么,在新添加的初始化器中践瓷,可以調(diào)用值類型的默認(rèn)構(gòu)造器和 memberwise
構(gòu)造器毅弧。
方法
擴(kuò)展可以為現(xiàn)有類型添加實(shí)例方法以及類方法。
下標(biāo)
擴(kuò)展可以為現(xiàn)有類型添加下標(biāo)方法当窗。
嵌套類型
擴(kuò)展可以為現(xiàn)有類型添加嵌套的類,屬性或者枚舉寸宵。