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)