Junior — Middle
Kas saaksid anda näite olukorrast, kus nõrk viide automaatselt nulliks muutub?
sobes.tech AI
Vastus AI-lt
Nõrk viide tühistatakse automaatselt, kui objekt, millele see viitab, vabastatakse mälust (st kui sellele ei ole enam tugevaid viiteid).
Näiteks iOS-is, kasutades weak viidet delegaadile:
class ViewController: UIViewController {
weak var delegate: SomeDelegate?
}
Kui delegaadi objekt hävitatakse (näiteks väljub ulatusest ja vabastatakse), siis delegate muutub automaatselt nil. See takistab juba vabastatud objekti kasutamist ja aitab vältida vigu ning mälulekkeid.