Junior — Middle
Ինչու է խորհուրդ տրվում օգտագործել թույլ հղում ինքնին (weak self) փակման օգտագործման ժամանակ:
sobes.tech AI
Պատասխան AI-ից
Ճկատակի հղում (weak self) օգտագործելը փակման մեջ անհրաժեշտ է ուժեղ հղումային ցիկլերի (retain cycles) կանխարգելման համար, որոնք հանգեցնում են հիշողության արտահոսքի:
Երբ փակումը բռնում է self-ին որպես թույլ հղում, և self պարունակում է այդ փակումը (օրինակ՝ հատկությունում), նրանք միմյանց պահում են, և ոչ մեկը չի ազատվում:
Թույլ հղում օգտագործելու օրինակ՝
someAsyncCall { [weak self] in
guard let self = self else { return }
self.doSomething()
}
Այստեղ self-ը բռնվում է թույլ, այնպես որ եթե self օբյեկտը ոչնչացվի նախքան փակման կատարմանը, այն չի պահի այն հիշողության մեջ, ինչը կանխում է արտահոսքը։