Инициализаторы - это по сути метод объявленный внутри класса, который используется для создания объекта.
class Car {
let brendAndModel: String
let wheelsCount: Int
var color = "whit"
//Инициализатор по умолчанию
init( brendAndModel: String, wheelsCount: Int = 4) {
self.brendAndModel= brendAndModel
self.wheelsCount = wheelsCount}
}
//Memeberwise - инициализатор
Полностью дублирует свои свойства
init( brendAndModel: String, wheelsCount: Int, color:String) {
self.brendAndModel= brendAndModel
self.wheelsCount = wheelsCount
self.color:String= color:String
}
//Failable -инициализатор
init?(brend: String, model: String, wheelsCount : Int) {
if wheelsCount < 4 {
return nil
} else {
self.brendAndModel= brend + Model
self.wheelsCount = wheelsCount
}
}
//Удобный инициализатор - вызывает другой ранее созданный
//инициализатор
convenience init(brendAndModel: String,color:String) {
self.init(brendAndModel:brendAndModel)
self.color = color
}