Junior — Middle
Қасиеттің жалқау инициализациясын қалай жүзеге асыруға болады, ол тек бірінші қол жетімділікте ғана жасалады?
sobes.tech AI
AI-дан жауап
Swift-те қасиетті баяу инициализациясы үшін lazy кілт сөзі пайдаланылады. Бұл қасиеттің тек бірінші рет қолданғанда ғана жасалатынына кепілдік береді.
Мысал:
class DataManager {
lazy var data: [String] = {
print("Data инициализациясы")
return ["One", "Two", "Three"]
}()
}
let manager = DataManager()
// data қасиеті әлі инициализацияланбады
print(manager.data) // Бірінші шақырғанда инициализация орын алады
Мұндай тәсіл қасиеттің инициализациясы ресурсты көп қажет етеді және объектіні құру кезінде бірден қажет емес болғанда пайдалы.