Middle
Kuidas lisada oma initsialiseerija struktuurile, jättes vaikimisi initsialiseerija alles?
sobes.tech AI
Vastus AI-lt
vaikimisi, Swift-i struktuurid saavad automaatse liikme initsialiseerija, kui te ei määra oma initsialiseerijat. Kui lisate mis tahes initsialiseerija, automaatne liikme initsialiseerija ei pakuta.
Säilitada automaatne liikme initsialiseerija, lisades oma initsialiseerijaid, saate need asetada extension-i (laiendus) sisse. Laienduses määratletud initsialiseerijad ei tühista automaatset liikme initsialiseerijat.
struct Person {
let name: String
let age: Int
}
extension Person {
// Teie initsialiseerija
init(name: String) {
self.name = name
self.age = 0 // Vaikimisi väärtus
}
}
// Automaatse liikme initsialiseerija kasutamine
let john = Person(name: "John", age: 30)
// Oma initsialiseerija kasutamine extension-ist
let jane = Person(name: "Jane")
print(john)
print(jane)