Sobes.tech
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)