Sobes.tech
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) // Бірінші шақырғанда инициализация орын алады

Мұндай тәсіл қасиеттің инициализациясы ресурсты көп қажет етеді және объектіні құру кезінде бірден қажет емес болғанда пайдалы.