Sobes.tech
Junior — Middle

Можеш ли да дадеш пример за ситуация, когато слаба препратка автоматично се нулира?

sobes.tech AI

Отговор от AI

Слабата препратка автоматично се нулира, когато обектът, към който се отнася, бъде освободен от паметта (т.е. когато няма повече силни препратки към него).

Например, в iOS с използване на weak препратка към делегата:

class ViewController: UIViewController {
    weak var delegate: SomeDelegate?
}

Ако обектът делегат бъде унищожен (например, излезе от обхвата и бъде освободен), delegate автоматично става nil. Това предотвратява достъпа до вече освободен обект и помага да се избегнат грешки и течове на памет.