Sobes.tech
Junior — Middle

Оё метавонед консепсияи арзёбии бефоида ё таъхир дар иҷрои вазифаҳо дар барномасозиро шарҳ диҳед?

sobes.tech AI

Ҷавоб аз AI

Баёноти хомӯш (lazy evaluation) — техникаи барномасозӣ мебошад, ки дар он ҳисоб кардани арзиш то он даме, ки воқеан зарур шавад, ба таъхир меафтад. Дар iOS ва Swift, ин одатан барои оптимизатсияи иҷроиш ва сарфаи захираҳо истифода мешавад.

Масалан, хусусият метавонад ҳамчун lazy var эълон карда шавад, ва инициализатсия танҳо дар аввалин дастрасӣ ба он рӯй медиҳад:

class DataLoader {
    lazy var data: [String] = {
        print("Боркунии маълумот...")
        return ["Як", "Ду", "Се"]
    }()
}

ҳангоми истифодаи loader = DataLoader()
// То он даме, ки ба loader.data дастрасӣ пайдо кунем, маълумот бор карда намешавад
print(loader.data) // Ин ҷо инициализатсия ва чоп кардан рӯй медиҳад

Ин барои ҳолатҳо муфид аст, ки инициализатсия захираҳои зиёдро талаб мекунад ва эҳтимолан фавран ё ҳеҷ гоҳ зарур нест.