Sobes.tech
Junior — Middle

Automatikusan törlődik egy objektum a memóriából, ha három gyenge (weak) és egy nem kötelező (unowned) hivatkozás mutat rá?

sobes.tech MI

Válasz az MI-től

A tárgy automatikusan törlődik a memóriából, ha nincs többé erős (strong) hivatkozás rá. A gyenge (weak) és nem kötelező (unowned) hivatkozások nem növelik a tárgy hivatkozásszámát. Az Ön esetében, ha csak három weak és egy unowned hivatkozás van, de nincs erős hivatkozás, a tárgy használaton kívüli és deallokálásra kerül.

Példa:

class MyClass {}

var strongRef: MyClass? = MyClass() // erős hivatkozás
weak var weakRef1 = strongRef
weak var weakRef2 = strongRef
weak var weakRef3 = strongRef
unowned var unownedRef = strongRef!

strongRef = nil // most már nincs erős hivatkozás, a tárgy törlődik