Sobes.tech
Middle

Kako dodati sopstveni inicijalizator u strukturu, ostavljajući podrazumevani inicijalizator?

sobes.tech АИ

Одговор од АИ

По подразбиране, структуре у Swift добијају аутоматски иницијализатор члана ако не дефинишете сопствене иницијализаторе. Ако додате какавиколико иницијализатор, аутоматски иницијализатор члана не се пружа.

Да бисте сачували аутоматски иницијализатор члана приликом додавања својих иницијализатора, можете их поставити у extension. Иницијализатори дефинисани у 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)

// Коришћење вашег иницијализатора из extension-а
let jane = Person(name: "Jane")

print(john)
print(jane)