Junior — Middle
Можеш ли да наведеш пример ситуације када слаба референца аутоматски се поставља на нула?
sobes.tech АИ
Одговор од АИ
Slaba referenca automatski se poništava kada objekat na koji se odnosi bude oslobođen iz memorije (tj. kada na njega više nema jakih referenci).
Na primer, u iOS-u, koristeći weak referencu na delegata:
class ViewController: UIViewController {
weak var delegate: SomeDelegate?
}
Ako se objekat delegata uništi (npr. izađe iz opsega i bude oslobođen), delegate automatski postaje nil. Ovo sprečava pristup već oslobođenom objektu i pomaže u izbegavanju grešaka i curenja memorije.