1. 程式人生 > >小胖說swift08-------- swift怎麼重寫父類的init方法

小胖說swift08-------- swift怎麼重寫父類的init方法

重寫是相同方法的不同實現,引數不同方法就不同了,樓主是想過載,如下兩個例子可以清晰表現用法和區別:

例如UIView重寫父類的init(frame: CGRect)方法: 
override init(frame: CGRect) {
super.init(frame: frame)
//do something what you want
}
重寫的話swift規定不可以缺少這個request init方法:(編譯器會自動提示)
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
fatalError("init(coder:) has not been implemented")
}

過載父類的init(frame: GCRect),增加一個新引數: 
init(frame: CGRect, type: String) {
super.init(frame: frame)
//do something what you want
print(type)
}