コンビニエンスイニシャライザを使用する事で
クラスの初期化でオーバーロードのような処理ができます
class Food {
var name: String
var weight:Int
init(name: String,weight: Int) {
self.name = name
self.weight = weight
}
convenience init() {
self.init(name:"[Unnamed]",weight:0)
}
convenience init(name:String) {
self.init(name:name,weight:0)
}
}
let meat = Food()
let bacon = Food(name:"Bacon")
let baconWithWeight = Food(name:"Bacon",weight:5)