Sobes.tech
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.