Middle
Чӣ гуна метавон инициализатори худро ба структура илова кард, бо нигоҳ доштани инициализатори пешфарзӣ?
sobes.tech AI
Ҷавоб аз AI
По подразбиране, структурите в Swift получават автоматичен инициализатор на член, ако не дефинирате свои собствени инициализатори. Ако добавите какъвто и да е инициализатор, автоматичният инициализатор на член не се предоставя.
За да запазите автоматичния инициализатор на член при добавяне на свои инициализатори, можете да ги поставите в разширение (extension). Инициализаторите, дефинирани в разширението, не отменят автоматичния инициализатор.
struct Person {
let name: String
let age: Int
}
extension Person {
// Вашият инициализатор
init(name: String) {
self.name = name
self.age = 0 // Стойност по подразбиране
}
}
// Използване на автоматичния инициализатор
let john = Person(name: "John", age: 30)
// Използване на вашия инициализатор от разширението
let jane = Person(name: "Jane")
print(john)
print(jane)